Autor | Zpráva | ||
---|---|---|---|
Erixx Profil |
#1 · Zasláno: 6. 2. 2012, 14:17:40
Dobrý den,
mám toto řešení přesměrování url adresy webu tvaru neco.cz na www.neco.cz/cs .
RewriteEngine On RewriteCond %{HTTP_HOST} !^$ [NC] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTP_HOST} ^(.*)$ [NC] RewriteRule ^(.*)$ "http://www.%1/cs/$1" [L,R=301] Přesměrování však je funkční pouze pokud uživatel zadá adresu bez www (neco.cz), nikoli, pokud zadá adresu s www ( www.neco.cz)- tam se "/cs" již nepodstrčí.
Nevíte někdo, jak na to? Případně jak přesměrovat na URL adresu www.neco.cz/cs , pokud uživatel zadá jakoukoli adresu webu bez "/cs"?
Díky |
||
djlj Profil |
#2 · Zasláno: 7. 2. 2012, 12:03:51
Však tam máš podmínku
RewriteCond %{HTTP_HOST} !^www\. [NC] že se to nebude provádět, pokud adresa začíná www. Tak ji musíš oddělat. |
||
Erixx Profil |
#3 · Zasláno: 7. 2. 2012, 13:55:42
djlj:
Pokud vyhodím tu podmínku jak říkáš, tj nechám tento tvar RewriteEngine On RewriteCond %{HTTP_HOST} !^$ [NC] RewriteCond %{HTTP_HOST} ^(.*)$ [NC] RewriteRule ^(.*)$ "http://www.%1/cs/$1" [L,R=301] cyklý se 'www' a 'cs'. Už jsem zkusil spoustu možností, ale nemohu přijít na to, jak dostat /cs/ za url, pokud uživatel zadá tvar s www, tj. přesměrovat neco.cz nebo www.neco.cz na tvar www.neco.cz/cs/
|
||
casy Profil |
#4 · Zasláno: 7. 2. 2012, 14:08:24
Erixx:
Zkus tohle ####### Redirect na verzi domény s www ###### RewriteEngine on RewriteCond %{HTTP_HOST} ^neco.cz RewriteRule (.*) http://www.neco.cz/$1 [R=301,QSA,L] |
||
Erixx Profil |
#5 · Zasláno: 7. 2. 2012, 14:17:59
casy:
Toto řešení znám, nicméně neřeší můj problém,tj. přesměruje pouze zadání do URL neco.cz na www.neco.cz/cs/ ,
nikoli však zadání do URL www.neco.cz - vyhodí pouze totožné www.neco.cz bez /cs/
RewriteEngine on RewriteCond %{HTTP_HOST} ^neco.cz RewriteRule (.*) http://www.neco.cz/cs/$1 [R=301,QSA,L] |
||
casy Profil |
Erixx:
RewriteEngine on RewriteCond %{HTTP_HOST} ^neco.cz RewriteRule (.*) http://www.neco.cz/cs/$1 [R=301,QSA,L] RewriteEngine on RewriteCond %{HTTP_HOST} ^www.neco.cz RewriteRule (.*) http://www.neco.cz/cs/$1 [R=301,QSA,L] A tohle by nešlo ? Nejde to... zacyklí se to ... |
||
Kajman Profil |
#7 · Zasláno: 7. 2. 2012, 15:28:11
RewriteEngine on RewriteRule !^cs/ http://www.neco.cz/cs/$0 [R=301,QSA,L] RewriteCond %{HTTP_HOST} ^neco\.cz$ RewriteRule ^(.*)$ http://www.neco.cz/$1 [R=301,QSA,L] A pro testování je lepší ladit s 302. |
||
casy Profil |
Kajman:
Perfektní, teď jsem to vyzkoušel a funguje to. |
||
Erixx Profil |
#9 · Zasláno: 7. 2. 2012, 16:20:43
Kajman:
Mně to vypisuje v URL takovýto tvar http://www.neco.cz/cs/?url=cs a píše chybu Smyčka při přesměrování :( |
||
casy Profil |
#10 · Zasláno: 7. 2. 2012, 16:37:41
Erixx:
Tohle už nebude chyba .htaccess, ale v php nebo v jazyku, kterým voláš hlavní stranu. |
||
Erixx Profil |
#11 · Zasláno: 7. 2. 2012, 16:57:35
Prozatím jsem to ted vyřešil tak, že jsem odstranil z hlavní strany z URL to /cs/ s podmínkou, že pokud se zavolá na hlavní stranu tvarem neco.cz nebo
www.neco.cz , automaticky se načte jazyk cs.
Na dalších stranách už budou url generovány s /cs/ atd dle $_GET[lang] Jinak Vám všem děkuju za pomoc. |
||
Časová prodleva: 12 let
|
0