Autor Zpráva
tozi
Profil
Ahojte,
v htaccess mám tento zápis

Redirect 301 /?dontshowhmw=yes http://www.nabytek-ratan.cz/
Redirect 301 /?dontshowhmw=yes?dontshowhmw=yes http://www.nabytek-ratan.cz/

Ale žiaľ nefunguje mi. Potrebujem daný link http://www.nabytek-ratan.cz/?dontshowhmw=yes?dontshowhmw=yes nasmerovať na homepage
http://www.nabytek-ratan.cz/.

Vie niekto poradiť?
Keeehi
Profil
tozi:
Nechce se mi teď počítat RFC pro URL, ale jsem si celkem jistý že ta druhá URL se dvěma otazníky nebude validní URL. Takže se nemůžeš divit, že to apache nezvládá.
juriad
Profil
Jen doplním, že druhý a každý další parametr se odděluje znakem & (and), tedy druhý řádek by měl být:
Redirect 301 /?dontshowhmw=yes&dontshowhmw=yes http://www.nabytek-ratan.cz/
Chamurappi
Profil
Reaguji na juriada:
A já ještě doplním postřeh, že mít dva GET parametry úplně stejně pojmenované asi není moc dobrý nápad… a že kdyby taková adresa vznikala neúmyslně, kvůli nějaké chybě, tozi by se nejspíš ptal na to, na co se ptá :-)


Reaguji na Keeehiho:
Myslím, že to je validní URL. Otazník má určitou sémantickou roli, ale nepředpokládám, že její nedodržení je syntaktická chyba.
I kdyby to byla syntaktická chyba, bylo by od Apache hloupé, kdyby kvůli tomu znemožnil zaměřit adresu, na kterou zjevně prohlížeče umožňují vstoupit.
Keeehi
Profil
Chamurappi:
Tak jo, kouknul jsem se do RFCčka a v query části opravdu může být i několik dalších otazníků. Je tedy na samotném příjemci jak s tím naloží. Zakázané to tedy není, nestandardní poměrně ano.
Davex
Profil
tozi:
V direktivě Redirect se určuje pouze cesta a nikoliv parametry, která se porovnává s cestou k souboru v URL.

K přesměrování na adresu bez parametrů je nutné použít pravidlo mod_rewrite. Asi nějak takto:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^(dontshowhmw=yes)(\?\1)?$
RewriteRule ^/$ http://www.nabytek-ratan.cz/? [R=301,L]

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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