| Autor | Zpráva | ||
|---|---|---|---|
| mara Profil * |
#1 · Zasláno: 23. 8. 2011, 19:27:21
Potřeboval bych poradit, jak nastavit url stránky tak, aby z url adresy www.domena.cz/promenna1?thecode=promenna2 dostat www.domena.cz/index.php?page=promenna1&id=promenna2
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([A-Za-z0-9-]+)?(\?thecode=)?([A-Za-z0-9-]+)?$ index.php?page=$1&id=$3Takhle funguje předávání proměnné1 pomocí $_GET['page'] takze www.domena.cz/onas nacte stranku www.domena.cz/onas.php, ale když chci získat proměnnou2 pomocí $promenna2=$_GET['id'] tak $promenna2 je prázdná. Přitom if(isset($_GET['id'])) vrátí true Podařilo se mi rozjet www.domena.cz/promenna1/promenna2, ale pak mi nefungovaly odkazy na styly a obrázky když byla zadána i promenna2, tak by mě zajímalo, jestli se to dá nastavit tak, jak jsem popisoval. |
||
| Davex Profil |
#2 · Zasláno: 23. 8. 2011, 23:16:23
V pravidle
RewriteRule se vyhodnocuje pouze cesta a nikoliv parametry. Ty musíš získat v předřazené podmínce:
RewriteCond %{QUERY_STRING} ^thecode=([^&]+)
RewriteRule ^([A-Za-z0-9-]+)?$ index.php?page=$1&id=%1 |
||
| mara Profil * |
#3 · Zasláno: 24. 8. 2011, 14:46:09
Jo to je přesně co jsem potřeboval. Zakže funkční řešení:
RewriteEngine On
RewriteBase /
#Pro dvě proměnné
RewriteCond %{QUERY_STRING} ^thecode=([^&]+)
RewriteRule ^([A-Za-z0-9-]+)?$ index.php?page=$1&id=%1
#Pro jednu proměnnou
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)?$ index.php?page=$1Díky. |
||
|
Časová prodleva: 14 let
|
|||
0