Redirect non-www na www !
9 naročnikov
9 naročnikov
Če kdo dostopa do vaše strani brez www, ali če kdo postavi povezavo na vašo stran brez www se s temi parimi vrsticami, če uporabljate apache spletni strežnik izognete puščanju page ranka in poskrbite da imate enoten pagerank za vašo stran. Če ne naredite tega se lahko zgodi da imate za vasastran.com PR3 za www.vasastran.com pa PR4 ali več. To samo kot primer ;)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.internetmojster\.com [NC]
RewriteRule ^(.*) http://www.internetmojster.com/$1 [L,R=301]
</IfModule>
spremenite internetmojster.com z vašo domeno !
52 odgovorov
Za vsako domeno moreš narediti narediti posebej redirect v .htaccess !
nekaj takega bi moralo delat :
RewriteCond %{HTTP_HOST} domena.com$ [NC]
RewriteRule ^(.*)$ http://www.novadomena.com/$1 [R]
Glede vecih domen, ki kazejo na isto stran... Verjetno si naredil en VirtualHost za vse domene in dodal ServerAlias za vsako domeno... Torej imajo vsi enak DocumentRoot, ja? V tem primeru potrebujes samo en .htaccess in v njem to, kar je imojster napisal v prvem postu... Dobro, lahko si naredil tudi vec VirtualHost, pa imajo vseeno vsi enak DocumentRoot, tukaj tudi potrebujes samo en .htaccess. Ce pa ima vsaka domena drug DocumentRoot, potem moras pa pac na vsak direktorij posebej namestit ta .htaccess
RewriteCond %{HTTP_HOST} domena.com$ [NC]
RewriteRule ^(.*)$ http://www.novadomena.com/$1 [R]
Tole ni delalo, sem dobil server error, potem sem poskusil kar z isto varianto kot za preusmeritev brez www na www
RewriteCond %{HTTP_HOST} !^www\.drugadomena\.com [NC]
RewriteRule ^(.*) http://www.prvadomena.com/$1 [L,R=301]
in dela, tako drugadomena.com kot www.drugadomena.com preumeri na www.prvadomena.com
Kul, tenks! :)
hmm... tole ti v bistvu ne bi smelo delat tako kot si ti opisal... tale koda naredi to, da preveri ce HTTPHOST ni www.drugadomena.com, potem naj vse zahtevke redirecta na www.prvadomena.com, kar pa seveda ni to, kar zelis... ti zelis, da ce HTTPHOST ni www.prvadomena.com, potem naj redirecta na www.prvadomena.com
takole:
RewriteCond %{HTTP_HOST} !^www\.prvadomena\.com [NC]
RewriteRule ^(.*) http://www.prvadomena.com/$1 [L,R=301]
tisti ! pred ^www.prvadomena.com je negacija...
Hmm.samo meni vseeno dela :)
Mislil sem da ! negira samo www in ne cele domene. V tem primeru, ki si ga napisal, potem ni treba delati redirecta za vsako "rezervno" domeno, ampak avtomatično preusmeri vse domene, ki niso prvadomena.com na prvadomena.com ?
tisti ! negira cel regular expresion
torej bi se vse skupaj prebralo nekako takole:
if HTTP_HOST not matched against regexp ^www\.prvadomena\.com then use RewriteRule ^(.*) http://www.prvadomena.com/$1 [L,R=301]
in ja, ti rabis samo preverit, ce domena ni tista, ki jo zelis, torej www.prvadomena.com, potem naj redirekta nanjo... v tem primeru lahko dodas kolikor zelis aliasov, pa bo to vse lepo redirectalo na eno (izbrano) domeno.