Autor | Zpráva | ||
---|---|---|---|
kozusnik.jan Profil * |
#1 · Zasláno: 30. 4. 2014, 15:16:12
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 |
#2 · Zasláno: 30. 4. 2014, 18:38:56
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 * |
#3 · Zasláno: 30. 4. 2014, 19:01:29
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 |
#4 · Zasláno: 30. 4. 2014, 19:11:50
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 * |
#5 · Zasláno: 30. 4. 2014, 19:18:47
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 |
#6 · Zasláno: 30. 4. 2014, 19:46:15
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 * |
#7 · Zasláno: 30. 4. 2014, 20:22:18
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 * |
#9 · Zasláno: 30. 4. 2014, 21:19:53
Dobře, zkusím to někde posunout. Děkuji
|
||
Časová prodleva: 10 let
|
0