Autor Zpráva
milde
Profil
Dobrý den,

chtěl bych poprosit o radu s přesměrováním starých url na nové.
v htaccess mám toto:
RewriteRule ^index.php?stara-promenna=product01 http://www.nova-domena.com/?nova-promenna=novy-product [R=301,NE,L] 

K přesměrování dojde ale v adresním řádku je toto: http://www.nova-domena.com/?stara-promenna=product01
a tím pádem dojde k přesměrování pouze na úvodní stranu na nové doméně.

Nevíte prosím kde by mohla být chyba?

Děkuji Milan
xROAL
Profil
RewriteRule ^index\.php\?stara-promenna=product01 http://www.nova-domena.com/?nova-promenna=novy-product [R=301,NE,L]
Možno pomôže len takáto jednoduchá úprava. ? a . majú v regulárnych výrazoch špeciálny význam, ak chceš zapísať skutočné znaky ? či ., musíš ich escapovať. Iný problém tam nevidím.

Edit: Keď nad tým teraz rozmýšľam, keby mu vadí toto, tak presmerovanie asi ani nenastane. Každopádne, to že majú špeciálny význam stále platí.
milde
Profil
xROAL:
Děkuji za odpověď, bohužel k přesměrování nedošlo tak jak jsi psal.
Toto přesměrování RewriteRule (.*) http://www.novadomena.cz/$1 [R=301,QSA,L] mi funguje, ale potřeboval bych právě přesměrovat jen některé url.

Děkuji Milan
Kajman
Profil
RewriteCond %{QUERY_STRING} ^stara-promenna=product01$
RewriteRule ^index\.php$ http://www.nova-domena.com/?nova-promenna=novy-product [R=302,NE,L] 

Viz Mod_rewrite - příklady
milde
Profil
Kajman:
Moc děkuju, takto to funguje parádně. Ještě malý dotaz. Budu takto mít přesměrováno asi cca. 15 url, jde nějak jednoduše říci, že vše ostatní bude přesměrováno na http://www.nova-domena.com

Ještě jednou děkuji a přeji pěkný den, Milan
Kajman
Profil
milde:
že vše ostatní bude přesměrováno

Jako poslední pravidlo může být

RewriteRule ^ http://www.nova-domena.com/ [R=302,NE,L]

Po otestování je možné změnit 302 na 301.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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