Autor Zpráva
juneau
Profil
Po několika hodinách šachování s problémem, kdy chci (ve vyhledávačích uložené) adresy ve tvaru "domena.net/?text=..." přesměrovávat na "domena.net/index.php?text=..." jsem se dostal k tomuto.


RewriteCond %{REQUEST_URI} !^/rs/index.php
RewriteCond %{QUERY_STRING} ^text=(.+)
RewriteRule .* /rs/index.php?text=%1 [R=301,QSA,L]

RewriteCond %{REQUEST_URI} !^/rs/index.php
RewriteCond %{QUERY_STRING} ^clanek=(.+)
RewriteRule .* /rs/index.php?clanek=%1 [R=301,QSA,L]

Pravděpodobně správně funkční, ale potřebuji to pro více proměnných - ?text, ?clanek, ?docs, ?... a nepodařilo se mi to dostat do jednoho příkazu. Jde to nějak vyřešit, nebo to pro každou proměnnou musím zkopírovat?
Kajman_
Profil *
RewriteCond %{REQUEST_URI} !^/rs/index.php
RewriteCond %{QUERY_STRING} ^(text|clanek|docs)=(.+)
RewriteRule .* /rs/index.php?%1=%2 [R=301,QSA,L]
juneau
Profil
Děkuji, funguji, ale s malým broukem - do url se parametry vloží dvakrát:

Potvrdím-li v prohlížeči adresu http://example.com/?text=108, dostanu http://example.com/index.php?text=108&text=108 :(
juneau
Profil
Že to vytahuji... zmíněného problému se zbavím, když odstraním flag QSA. V tomto případě to ničemu nevadí, že ne?
Kajman_
Profil *
Pokud tam nejsou jiné parametry, tak QSA tam být nemá.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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