Autor | Zpráva | ||
---|---|---|---|
Ivorius Profil |
#1 · Zasláno: 25. 8. 2006, 23:05:50 · Upravil/a: Ivorius
Zatím mám tohle
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^neco\.cz RewriteRule ^(.*)$ http://www.neco.cz/$1 [R=301,L] RewriteRule ^(.*)/$ index.php?page=$1 [L,QSA] RewriteRule ^([a-z\-/]+[^/])$ $1/ [R=301,L] Což funguje bezvadně, pokud mám pouze jednu úroven. www.neco.cz/katalog/ Nyní mám však adresu www.neco.cz/index.php?page=katalog&type=druh&id=tramy a chtel bych aby fungovalo www.neco.cz/katalog/tramy/ případně /katalog/druh/tramy/ Nějaký nápad? |
||
DJ Miky Profil |
#2 · Zasláno: 25. 8. 2006, 23:07:10
Ivorius
Rewritni si /katalog/ na index.php?page=katalog a pak pomocí PHP rozsekej proměnnou $_SERVER['REQUEST_URI']... Ale pomocí mod_rewrite by to taky šlo... |
||
Ivorius Profil |
#3 · Zasláno: 25. 8. 2006, 23:08:36
Mě jde právě o ten mod_rewrite
|
||
gaminn Profil * |
#4 · Zasláno: 25. 8. 2006, 23:26:22
A proč se patlat s mod_rewrite, kterej stejně nebude nijak flexibilní vzhledem k tomu, že si můžeš za chvíli rozmyslet, že přibyde další adresa, tzn. musel bys přidávat další řádky do .htaccess. Na celý svůj web mám použitý jediný rewrite (+ několik pomocných, které se netýkají vlastních stránek), který jakoukoliv adresu přesměruje na index.php?path=$1.
Proměnnou $path pak můžeš jednoduše rozložit na pole, první prvek pole potom vezmeš jako proměnnou $page, druhý prvek pak v případě stránky katalog budeš testovat, zda něco obsahuje, pokud ano, zobrazíš požadovanou sekci. |
||
Ivorius Profil |
#5 · Zasláno: 26. 8. 2006, 08:04:48
Nemůžu totiž využít php. Nemám přístup k serverovým skriptům. Potřebuji to prostě udělat přes mod_rewrite.
|
||
Ivorius Profil |
#6 · Zasláno: 28. 8. 2006, 12:00:50
Nikoho nic nenapadá?
|
||
Kajman_ Profil * |
#7 · Zasláno: 28. 8. 2006, 12:53:03
místo
RewriteRule ^(.*)/$ index.php?page=$1 [L,QSA] bych zkusil RewriteRule ^([^/]+)/((([^/]+)/)?([^/]+)/)?$ index.php?page=$1&type=$4&druh=$5 [L,QSA] Ale jestli nemáte přístup k serverovým skriptům, tak bych se na to vykašlal, protože díky tomu asi nemůžete používat takovéto adresy všude a přineslo by asi víc škody než užitku v podobě duplicitních adres. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0