Autor Zpráva
d.b.cooper
Profil *
ahoj
nemohl by mi někdo pomoct s tímhle problémem

mam nezávisle na sobě dva fungující případy

přesměrování 301
RewriteCond %{QUERY_STRING} uselanding=1
RewriteRule .*$ /SSW001? [R=301]

a podstrčení adresy
RewriteRule XXX001   /?uselanding=1 [QSA]

já bych ale potřeboval aby mi při zadání adresy /?uselanding=1 se stránka přesměrovala na XXX001 a následně se podstrčila /?uselanding=1
a zároveň když zadám jen XXX001 tak je podstrčila /?uselanding=1

když dám do htaccessu oba dva příkazy (3 řádky ...) v jakymkoliv pořadí hodí mi to 500 zkoušel jsem i přidávat parametr [L] bez výsledku
věděl by někdo ?
možná že sem si to i blbě logicky představil a šlo by to udělat i jinak ale požadavek je aby se zobrazovaly pěkné adresy viz "XXX001" a při zadání ?uselanding=1 se přesměrovalo 301 taky na pěknou adresu

díky
Davex
Profil
Je třeba zabránit zacyklení a to se dá udělat různě.

Nejjednodušší je přidat podmínku před přesměrování, aby se pravidlo uplatnilo pouze na nový požadavek a ne již na jednou přepsaný.

RewriteCond %{ENV:REDIRECT_STATUS} =""

Případně se zamysli, zda je nutné, aby parametr uselanding měl vždy hodnotu 1.
d.b.cooper
Profil *
díky nebyl jsem si ani jistý jeslti je možný dát za sebe dvě podmínky RewriteCond ( jde :) ) protože pravidlo může být jen jedno ... takže výsledek je

RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteCond %{QUERY_STRING} uselanding=1
RewriteRule .*$ /SSW001? [R=301]

RewriteRule XXX001   /?uselanding=1 [QSA]

index sem dal pro příklad je jich víc a nemusí se schodovat XXX001 -> uselanding=3 atd ....

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0