Autor Zpráva
jakcrabbit
Profil
Ahoj, řešim problém s přesměrováním, mám staré url:

http://www.altaros.cz/regulators/airarms-ev2-evo2/ - pro en verzi
http://www.altaros.cz/regulators/airarms-ev2-evo2/?lang=cs - pro českou verzi

Přesměrování pro en verzi funguje v pohodě dle:

Redirect 301 /regulators/airarms-ev2-evo2/ /en/air-arms/1-regulator-airarms-ev2-evo2

Ale pro českou verzi to ignoruje vše za otazníkem zřejmě, zkoušel jsem i:

RewriteCond %{QUERY_STRING} ^lang=cs$
RewriteRule ^/regulators/airarms-ev2-evo2/?$ http://www.altaros.cz/cs/air-arms/1-regulator-airarms-ev2-evo2 [R=301,L]

Ale stále to nefunguje, nějaký další nápad, jak to nasměrovat správně? Jde mi jen o ty české verze... Díky
Kajman
Profil
Pokud to pravidlo máte v .htaccess, zkuste odstranit uvodní lomítko v RewriteRule a asi i to české zchroustne redirect. zkusil bych i na anglickou rewriterule místo redirectu a přehodit pořadí...

RewriteCond %{QUERY_STRING} ^lang=cs$
RewriteRule ^/?regulators/airarms-ev2-evo2/?$ http://www.altaros.cz/cs/air-arms/1-regulator-airarms-ev2-evo2? [R=302,L,NE]
RewriteRule ^/?regulators/airarms-ev2-evo2/?$ http://www.altaros.cz/en/air-arms/1-regulator-airarms-ev2-evo2 [R=302,L,NE]
jakcrabbit
Profil
Kajman:

Díky za odpověď, ale nějak si nejsem jistý Vaší odpovědí, co mám vlastně udělat a proč jste použil 2x stejný zápis?


Ha, super, tak to už částečně funguje, akorát mi to na konec konečné url ještě hodí ?lang=cs, jak to odstranit?
Kajman
Profil
jakcrabbit:
?lang=cs, jak to odstranit?

Je potřeba dát otazník na konec nové adresy. Přidáno do [#2]
jakcrabbit
Profil
Excelentní! Díky moc!


Tak ne, problém, přesměrovává to i anglickou verzi na českou....
Kajman
Profil
jakcrabbit:
přesměrovává to i anglickou verzi na českou
Když jsem to zkusil, tak to přesměruje ze staré anglické na novou anglickou. Může být problém v tom, že prohlížeče si nějakou dobu pamatují 301 přesměrování (proto je lepší testovat s 302 a 301 nasadit až pro funkční pravidla) - zkuste vyčistit cache nebo jiný prohlížeč.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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