Autor Zpráva
maks
Profil
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 *
Přidejte si flag QSA... a možná i L, ale ten nutný nebude.

RewriteRule ^([^/]+)/?$ ?page=$1 [QSA,L]
maks
Profil
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 *
Č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.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0