Autor | Zpráva | ||
---|---|---|---|
maks Profil |
#1 · Zasláno: 7. 1. 2010, 12:07:39
Ahoj,
rád bych se zeptal, zda je možné přepisovat jen první např. 2 proměnné z $_GET a další ne. Mám klasicky rewrite 2 proměnných: RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+)/?$ ?page=$1 RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+)/([^/]+)?/?$ ?page=$1&subpage=$2 takže výsledek je, jaký potřebuji, tedy: web.cz/page/subpage/. Za toto bych potřeboval dostat ještě další proměnné, které nechci přepisovat. Například tedy web.cz/page/subpage/?stranka=1. Když si vypíšu proměnnou GET, je tam pouze PAGE a SUBPAGE. Můžu se zeptat, kde by mohla být zrada? Děkuji za osvětlení problému a za případnou radu :-) |
||
Kajman_ Profil * |
#2 · Zasláno: 7. 1. 2010, 12:15:35
Přidejte si flag QSA... a možná i L, ale ten nutný nebude.
RewriteRule ^([^/]+)/?$ ?page=$1 [QSA,L] |
||
maks Profil |
#3 · Zasláno: 7. 1. 2010, 12:20:48
Kajman_:
„Přidejte si flag QSA... a možná i L, ale ten nutný nebude“ děkuji, vyzkouším. Ještě bych se rád zeptal, když přepisuji více (dejme tomu 5) proměnných, musím uvádět přepis 1, 2, .. 5, nebo stačí poslední podmínka pro 5, které buď jsou a nebo nejsou všechny? Bohužel to teď nemohu vyzkoušet, proto se ptám, když už jsem toto téma nakousl (viz. ukázka kódu výše nejprve pro jednu a pak pro druhou proměnnou). Děkuji. |
||
Kajman_ Profil * |
#4 · Zasláno: 7. 1. 2010, 12:41:52
Často se parsování url dělá až v php, tedy žádné parametry uvádět nemusíte.
Ale ano, je možné napsat pravidla tak, že budou další kousky cesty v regulárním výrazu jako nepovinné a v případě jejich absenci, budou dané proměnné nastavené na prázdné hodnoty. |
||
Časová prodleva: 14 let
|
0