Autor Zpráva
ychtyl
Profil
Zdravím,
potřeboval bych vyřešit toto:
pokud je v v URL v parametrech řetězec p=, potřeboval bych přesměrování na stejnou URL, jen z ní odstranit všechny parametry
Kajman
Profil
RewriteEngine On
RewriteBase /
 
RewriteCond %{QUERY_STRING} p=
RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteRule ^(.*)$ $1? [R=302,L,NE]

Ale odstraní to i parametry, pokud je v query stringu např. top=10. Pokud by se měl kontrolovat v get parametr p, tak
RewriteCond %{QUERY_STRING} ^(.*&)?p=
ychtyl
Profil
nene, potřebuji odstranit všechny parametry, takže jsem použil první variantu a funguje, díky


ještě bych potřeboval verzi s podmínkou, že v URL není .html zkoušel jsem takto
#RewriteCond %{REQUEST_URI} !^\.html$
#RewriteCond %{QUERY_STRING} p=
#RewriteCond %{ENV:REDIRECT_STATUS} =""
#RewriteRule ^(.*)$ $1? [R=301,L,NE]
ale nefunguje
ychtyl
Profil
zkusil jsem to ještě takto
RewriteCond %{REQUEST_URI} ^((?!html).)*$
RewriteCond %{QUERY_STRING} p=
RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteRule ^(.*)$ $1? [R=301,L,NE]

a stále nic :-/
Joker
Profil
ychtyl:
Ta podmínka v [#3], ale bez té stříšky (začátku řetězce). Protože ^\.html$ platí jen pro přesný řetězec ".html".

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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