Jump to content
php.lv forumi

mod rewrite


hoho
 Share

Recommended Posts

mana projektā linki veidojas sekojošo:

www.site.lv/cat1/

 

RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?area=$1 [QSA,L]
RewriteRule ^([a-zA-Z0-9_-]+)(/)$ index.php?area=$1 [QSA,L]
 
es gribu uztaisīt linku:
 
www.site.lv/cat1/cat1_1/
 
Kā man uzrakstīt mod rewrite lai man $_GET[area] būtu tas pēdējais parametrs? Šajā gadījumā cat1_1?

 

Link to comment
Share on other sites

Visticamākais ka problēma ir tur, ka uzdevumam pieej no nepareizās puses. Daudz ērtāk būtu ja tu izmantotu kādu gatavu PHP risinājumu nevis caur .htaccess visus iespējamos parametrus konfigurētu. (Cik saprotu, šajā rajonā http://www.slimframework.com ir populārs.) Būtībā tu meklē "PHP router".

 

Lai nu kā, ja ļoti vajag:

RewriteRule ^/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ /index.php?area=$2 [QSA,L]

Uzliec šo pirms esošajiem rewrite rules. Protams, tad pirmā adreses daļa tev vairs nebūs pieejama, bet to tu vari pieprasīt kādā citā mainīgajā, pārrakstot rindiņu uz:

RewriteRule ^/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ /index.php?area=$2&main_area=$1 [QSA,L]
Link to comment
Share on other sites

Laikam var uztaisīt arī kā man bija uzrakstīts, piemēram:

 

RewriteRule ^(ru|en|lv)/(.*/)?([a-zA-Z0-9_-]+)(/)$ index.php?lang=$1&area=$3 [QSA,L]

 

Šis strādāja pareizi, bet man vajag izņemt valodas, (ru|en|lv) - šo vajag izņemt un šo lang=$1

Bet tad nestrādā pareizi :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...