Domanda

Per vari motivi, come i cookie, il SEO e per semplificare le cose, vorrei fare in modo che Apache reindirizzi automaticamente qualsiasi richiesta di http://www.foobar.com/anything A http://foobar.com/anything.Il meglio che ho potuto inventare è una mostruosità basata su mod_rewrite, esiste un modo semplice e semplice per dirgli "Reindirizza tutte le richieste per il dominio ABC su XYZ"?

PS:ho trovato questa domanda in qualche modo correlata, ma è per IIS e fa l'opposto di quello che voglio.Inoltre è ancora complesso.

È stato utile?

Soluzione

È facile come:

<VirtualHost 10.0.0.1:80>
        ServerName www.example.com
        Redirect permanent / http://example.com/
</VirtualHost>

Adatta i nomi host e gli IP secondo necessità :)

Altri suggerimenti

più semplice e facile da copiare da un sito all'altro:

RewriteCond %{HTTP_HOST} ^www\.(.+)$
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Abbastanza semplice se usi mod_rewrite, come facciamo tutti ;)

Questo fa parte del file .htaccess dal mio sito web live:

RewriteEngine on

# Catches www.infinite-labs.net and redirects to the
# same page on infinite-labs.net to normalize things.

RewriteCond %{HTTP_HOST} ^www\.infinite-labs\.net$
RewriteRule ^(.*)$ http://infinite-labs.net/$1 [R=301,L]

Utilizza un file .htaccess con alcune regole mod_rewrite:

RewriteEngine On
RewriteRule ^www.SERVERNAME(.*) http://SERVERNAME$1 [L,QSA]

Non sono sicuro di aver capito bene la sintassi con il file $1 lì, ma è ben documentato.L invia una posizione:intestazione al browser e QSA significa Query String Append.

Dato che hai menzionato l'uso di mod_rewrite, suggerirei una semplice regola nel tuo .htaccess: non mi sembra mostruosa :)

RewriteCond %{HTTP_HOST} ^www\.foobar\.com$ [NC]
RewriteRule ^(.*)$ http://foobar.com/$1 [L,R=301]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]

Questo dovrebbe bastare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top