Autor | Zpráva | ||
---|---|---|---|
Jan Mazánek Profil * |
Dobrý den,
rád bych v .htaccess vynutil pro všechny domény v instalaci prefix "www.". Aktuální řešení funguje pro explicitně uvedené domény, ale obsahuje hromadu opakujícího se kódu a hlavně nefunguje obecně pro libovolné domény na dané instalaci. Rád bych, aby řešení fungovalo přesměrovalo "domena.koncovka", "ww.domena.koncovka", "wwww.domena.koncovka" (apod.) na "www.domena.koncovka". Poradíte prosím někdo obecné řešení? Aktuálně používáme tento kód: RewriteCond %{REQUEST_METHOD} !=POST RewriteCond %{HTTP_HOST} zemedelskehaly\.cz$ RewriteCond %{HTTP_HOST} !^www\.zemedelskehaly\.cz$ RewriteRule ^(.*) http://www.zemedelskehaly.cz/$1 [R=301,QSA,L,NE] RewriteCond %{REQUEST_METHOD} !=POST RewriteCond %{HTTP_HOST} vyrobnihaly\.cz$ RewriteCond %{HTTP_HOST} !^www\.vyrobnihaly\.cz$ RewriteRule ^(.*) http://www.vyrobnihaly.cz/$1 [R=301,QSA,L,NE] RewriteCond %{REQUEST_METHOD} !=POST RewriteCond %{HTTP_HOST} ocelovehaly\.cz$ RewriteCond %{HTTP_HOST} !^www\.ocelovehaly\.cz$ RewriteRule ^(.*) http://www.ocelovehaly.cz/$1 [R=301,QSA,L,NE] RewriteCond %{REQUEST_METHOD} !=POST RewriteCond %{HTTP_HOST} skladovehaly\.cz$ RewriteCond %{HTTP_HOST} !^www\.skladovehaly\.cz$ RewriteRule ^(.*) http://www.skladovehaly.cz/$1 [R=301,QSA,L,NE] RewriteCond %{REQUEST_METHOD} !=POST RewriteCond %{HTTP_HOST} odpadovehaly\.cz$ RewriteCond %{HTTP_HOST} !^www\.odpadovehaly\.cz$ RewriteRule ^(.*) http://www.odpadovehaly.cz/$1 [R=301,QSA,L,NE] RewriteCond %{REQUEST_METHOD} !=POST RewriteCond %{HTTP_HOST} leteckehaly\.cz$ RewriteCond %{HTTP_HOST} !^www\.leteckehaly\.cz$ RewriteRule ^(.*) http://www.leteckehaly.cz/$1 [R=301,QSA,L,NE] RewriteCond %{REQUEST_METHOD} !=POST RewriteCond %{HTTP_HOST} prodejnihaly\.cz$ RewriteCond %{HTTP_HOST} !^www\.prodejnihaly\.cz$ RewriteRule ^(.*) http://www.prodejnihaly.cz/$1 [R=301,QSA,L,NE] RewriteCond %{REQUEST_METHOD} !=POST RewriteCond %{HTTP_HOST} prihradovevazniky\.cz$ RewriteCond %{HTTP_HOST} !^www\.prihradovevazniky\.cz$ RewriteRule ^(.*) http://www.prihradovevazniky.cz/$1 [R=301,QSA,L,NE] RewriteCond %{REQUEST_METHOD} !=POST RewriteCond %{HTTP_HOST} jezdeckehaly\.cz$ RewriteCond %{HTTP_HOST} !^www\.jezdeckehaly\.cz$ RewriteRule ^(.*) http://www.jezdeckehaly.cz/$1 [R=301,QSA,L,NE] Moderátor Davex: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
Davex Profil |
#2 · Zasláno: 12. 1. 2011, 19:00:46 · Upravil/a: Davex
Doplnění www před doménu by bylo jednoduché. Požadavkem „aby řešení fungovalo přesměrovalo "domena.koncovka", "ww.domena.koncovka", "ww>ww.domena.koncovka" (apod.)“ se to trochu komplikuje.
Obecně použitelné pravidlo pro přesměrování jakékoliv subdomény na adresu s www by mohlo vypadat asi nějak takto: RewriteEngine On RewriteCond %{REQUEST_METHOD} !=POST RewriteCond %{HTTP_HOST} !^www\. RewriteCond %{HTTP_HOST} ([^.]+\.[^.]+)$ RewriteRule ^(.*) http://www.%1/$1 [R=301,QSA,L,NE] |
||
Jan Mazánek Profil * |
#3 · Zasláno: 13. 1. 2011, 15:27:30
Davex, děkuju. Implementováno, otestováno, funguje.
Omlouvám se za nepoužití preformatted v původním příspěvku. Děkuji za jeho editaci. |
||
Časová prodleva: 8 měsíců
|
|||
Petr B. Profil * |
#4 · Zasláno: 13. 9. 2011, 19:26:14
Hojte. Můžu poprosit o popostrčení, co dělat když to vložím do htaccess a stejně to nepracuje?
|
||
Davex Profil |
#5 · Zasláno: 13. 9. 2011, 21:55:59
Petr B.:
„co dělat když to vložím do htaccess a stejně to nepracuje?“ Přejmenovat soubor na .htaccess s tečkou na začátku nebo si založit vlastní téma s podrobnějším popisem (jaká pravidla a jak to nepracuje). |
||
Časová prodleva: 6 měsíců
|
|||
Jan Mazánek Profil * |
#6 · Zasláno: 23. 3. 2012, 22:56:09
Následující modifikovaný kód by měl zachovat všechny subdomény, ale přespat na "www.domena.koncovka" doménu bez úvodního "www." a subdomény třetího řádu "w", "ww", "wwww", "wwwww"
RewriteCond %{REQUEST_METHOD} !=POST RewriteCond %{HTTP_HOST} !^www\. RewriteCond %{HTTP_HOST} ^(|w\.|ww\.|wwww\.|wwwww\.)([^.]+\.[^.]+)$ RewriteRule ^(.*)$ http://www.%2%{REQUEST_URI} [R=301,QSA,L,NE] |
||
Časová prodleva: 12 let
|
0