Autor Zpráva
kozusnik.jan
Profil *
Ahoj, prosím Vás, určitě už tato otázka tady byla omílána několikrát, ale pořád s tím mám problém a vůbec se v .htaccess nevyznám a stále s ním válčím. Potřebuji toto http://www.carbidemorava.cz/shop/Symfony/web/en/products/0/1 přepsat na toto http://www.carbidemorava.cz/en/products/0/1 ale nevím jak :/
Mám něco takového, ale nejede to:

RewriteEngine On
RewriteCond %{HTTP_HOST}  ^(.*).carbidemorava.cz/shop/Symfony/web/$
RewriteRule (.*) $1.carbidemorava.cz/$2 [R=301,QSA,L]

Děkuji za vaše odpovědi
Davex
Profil
V proměnné %{HTTP_HOST} je pouze jméno domény, takže v regulárním výrazu na 2. řádku nemá být cesta.

RewriteCond %{HTTP_HOST}  ^(.*)\.carbidemorava\.cz$

Cesta se vyhodnocuje v podmínce RewriteRule, takže patří tam, a pokud chceš přepisovat/podstrkovat, tak nepřesměrovávej.

RewriteRule ^shop/Symfony/web/(.*) /$1 [L]

Možná chceš udělat něco jiného, ale špatně jsi to popsal. Zkus si přečíst článek Mod_rewrite, abychom sladili používané termíny.
kozusnik.jan
Profil *
Já nechci přepisovat ani podstrkovat, protože by mi to potom nefungovalo :/ na webu ajaxem tahám nějaká data a třeba jazyk rozlišuji podle url, kterou rozřeuje na pole a z určitého pole to zjistím. Když má url jinou délku, tak už ten jazyk nezjistím. Proto musím udělat to přesměrování.
Davex
Profil
kozusnik.jan:
Proč tedy potřebuješ přesměrovávat a data netaháš přímo z http://www.carbidemorava.cz/en/products/0/1?
kozusnik.jan
Profil *
Kvůli Google, který webové stránky prvně zaindexoval s tou první url, takže nějakou dobu potrvá, než bude odkazovat na správnou url
Davex
Profil
kozusnik.jan:
Tak už to konečně chápu. Ono to vlastně s přepisováním adresy a AJAXem nemá nic společného.

Vlastně potřebuješ jen přesměrovat starou adresu na novou. To si tedy do upraveného pravidla doplň příznaky [L,R=301,NE].
kozusnik.jan
Profil *
Přesně. Omlouvám se, pokud jsem se špatně vyjádřil. Nicméně, pokud jsem upravil příznaky, tak to vypadá takto:
RewriteEngine On
RewriteCond %{HTTP_HOST}  ^(.*)\.carbidemorava\.cz$
RewriteRule ^shop/Symfony/web/(.*) /$1 [L,R=301,NE]

Problém je, že to ale nefunguje. Mám něco špatně?
Davex
Profil
Možná máš víc pravidel a toto je příliš pozdě, takže se chytne nějaké jiné pravidlo před ním. Přesměrování by mělo být před ostatními pravidly.
kozusnik.jan
Profil *
Dobře, zkusím to někde posunout. Děkuji

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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