Заставить apache автоматически скинуть с www.? - PullRequest
4 голосов
/ 18 сентября 2008

По разным причинам, таким как файлы cookie, SEO и, для простоты, я бы хотел, чтобы apache автоматически перенаправлял любые запросы на http://www.foobar.com/anything на http://foobar.com/anything.. такое чудовище на основе mod_rewrite, есть ли какой-нибудь простой и простой способ сказать ему: «Перенаправить все запросы домена ABC в XYZ»?

PS: я нашел этот несколько связанный вопрос , но он для IIS и делает противоположное тому, что я хочу. Также это все еще сложно.

Ответы [ 6 ]

9 голосов
/ 18 сентября 2008

Это так же просто, как:

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

При необходимости измените имена хостов и IP-адреса:)

7 голосов
/ 30 марта 2009

проще и проще копировать с сайта на сайт:

RewriteCond %{HTTP_HOST} ^www\.(.+)$
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
4 голосов
/ 18 сентября 2008

Довольно просто, если вы используете mod_rewrite, как и все мы;)

Это часть .htaccess с моего сайта:

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]
1 голос
/ 18 сентября 2008

Используйте файл .htaccess с некоторыми правилами mod_rewrite:

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

Я не уверен, что правильно понял синтаксис с $1, но он хорошо документирован L отправляет заголовок location: в браузер, а QSA означает Query String Append.

0 голосов
/ 18 сентября 2008

Поскольку вы упоминали об использовании mod_rewrite, я бы предложил простое правило в вашем .htaccess - мне не кажется чудовищным:)

RewriteCond %{HTTP_HOST} ^www\.foobar\.com$ [NC]
RewriteRule ^(.*)$ http://foobar.com/$1 [L,R=301]
0 голосов
/ 18 сентября 2008
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]

Это должно сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...