Jump to content
php.lv forumi

url rewrite


Recommended Posts

Sveiki!

Zinu, ka šis ir aprunāts temats, bet tomēr, neesmu ar to nodarbojies, bet man vajag konkrēti šādu uzdevumu:

url /index.php?lang=lv&page=blabla&subpage=blablabla pārveidot uz:

/lv/blabla/blablabla/index.html ar mod rewrite palīdzību!

Protams, ir pieļaujams, ka netiek padots neviens parametrs utt.

Vai kāds lūdzu var dot ātru risinājumu tieši šim gadījumam?

Link to post
Share on other sites

Uztaisiju šitādu .htaccess :

 

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-F

RewriteCond %{REQUEST_FILENAME} !-D

RewriteRule ^.htaccess$ - [F]

RewriteRule (.*) index.php [L]

RewriteRule ^/(.*)/index.html /index.php?lang=$1

RewriteRule ^/(.*)/(.*)/index.html /index.php?lang=$1&page=$2

RewriteRule ^/(.*)/(.*)/(.*)/index.html /index.php?lang=$1&page=$2&subpage=$3

 

php_flag register_globals 0

 

It kā pareizo lapu atvēra, tikai viss saits sāka tā bremzēt un neielādēja ne bildes, ne stilus. :(

Link to post
Share on other sites

Vispār jau der pielikt

RewriteCond %{REQUEST_URI} !\.(css|js|jpg|gif|jpeg)

 

t.i. bildēm u.c. figņām rewrite ruli neizmantot.

taču attiecigi bildes vairs nevar likt relatīvi proti src="img/bla.jpg" vietā jāliek src="/img/bla.jpg" kur attiecīgi /img/ ir direktorijas attiecībā pret webrootu.

Link to post
Share on other sites

Ok, nu .htaccess izskatas tads:

RewriteEngine on

#Options +FollowSymLinks

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-F

RewriteCond %{REQUEST_URI} !\.(css|js|jpg|gif|jpeg)

RewriteRule ^.htaccess$ - [F]

RewriteRule (.*) index.php [L]

RewriteRule ^/(.*)/index.html$ /index.php?lang=$1 [L]

RewriteRule ^/(.*)/$ /index.php?lang=$1 [L]

RewriteRule ^/(.*)$ /index.php?lang=$1 [L]

RewriteRule ^/(.*)/(.*)/index.html$ /index.php?lang=$1&page=$2 [L]

RewriteRule ^/(.*)/(.*)/(.*)/index.html$ /index.php?lang=$1&page=$2&subpage=$3 [L]

 

php_flag register_globals 0

 

Tik un ta apaksha tik rada:

Web site found! Waiting for reply... - tas ta ka uzkaries

 

Nez, bet bildes tapat, nekas nekachajas ieksha! Varbut man kaut kas php koda jaliek? Es nezinu, pirmo reizi taisu friendly url, bet man vinju vajag obligati!

Link to post
Share on other sites
ATKLĀTI SAKOT, TAS URL REWRITE VISPĀR NESTRĀDĀ, JO NERĀDA NEVIENU BILDI UN NOSPIEŽOT UZ KĀDA CITA LINKA, VIŅŠ NEAIZIET UZ TO VAJADZĪGO LAPU!

 

Vai kāds var palīdzēt???

14350[/snapback]

 

mod_rewrite ir savs logfails. skaties logfailā, kas pa kļūdu.

Link to post
Share on other sites

VAI KĀDS VAR LŪDZU PALĪDZĒT?

 

LŪK UZTAISĪJU .htaccess :

#Options +FollowSymLinks

RewriteEngine on

RewriteBase /

RewriteCond %{REQUEST_URI} !\.(css|js|jpg|gif|jpeg)

RewriteRule ^.htaccess$ - [F]

RewriteRule (.*) index.php

RewriteRule ^/(.*)/index.html$ /index.php?lang=$1

RewriteRule ^/(.*)/$ /index.php?lang=$1

RewriteRule ^/(.*)$ /index.php?lang=$1

RewriteRule ^/(.*)/(.*)/$ /index.php?lang=$1&page=$2

RewriteRule ^/(.*)/(.*)$ /index.php?lang=$1&page=$2

RewriteRule ^/(.*)/(.*)/index.html$ /index.php?lang=$1&page=$2

RewriteRule ^/(.*)/(.*)/(.*)/index.html$ /index.php?lang=$1&page=$2&subpage=$3

RewriteRule ^/(.*)/(.*)/(.*)/$ /index.php?lang=$1&page=$2&subpage=$3

RewriteRule ^/(.*)/(.*)/(.*)$ /index.php?lang=$1&page=$2&subpage=$3 [L]

 

php_flag register_globals 0

 

Bet kad mēģinu vērt kaut ko vaļā, browseris uzkaras, tas ir, visu laiku "web site found. waiting for reply..." "done" un visu laiku tas atkartojas un nekas neparādās!!!

Link to post
Share on other sites

Man ir aizdomas vai nu ir kaut kāds rewrite erors vai arī iestājas loops (t.i. webserveris redirectē pats uz sevi)

 

Es tavā vietā iesākumā ieliktu šādu ruli:

 

RewriteEngine On

RewriteCond %{REQUEST_URI} !\.(css|js|jpg|gif|jpeg)

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?dir=$1 [QSA,L]

 

Un tad attiecīgi 'dir' mainīgo explodēt pa '/' un sadalīt pa mainīgajiem ($lang, $page, $subpage) un veikt analīzi jau php galā.

Link to post
Share on other sites
×
×
  • Create New...