Это решение НАМНОГО лучше, чем остальные здесь.
- personKendall Hopkins; 12.08.2010
comment
Одна важная вещь, которую следует отметить в отношении этого решения, заключается в том, что оно всегда будет перенаправляться на HTTP. Лучшим решением может быть pastebin.com/TjD6iha2.
- personKendall Hopkins; 12.08.2010
Довольно просто, если вы используете 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]
Используйте файл .htaccess с некоторыми правилами mod_rewrite:
RewriteEngine On
RewriteRule ^www.SERVERNAME(.*) http://SERVERNAME$1 [L,QSA]
Я не уверен, что правильно понял синтаксис с $1, но он хорошо задокументирован. L отправляет заголовок location: в браузер, а QSA означает Query String Append.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
Это должно делать свое дело.
personUnkwnTechschedule17.09.2008
comment
Внимание к ^www.domain.com$: точки соответствуют всему, поэтому их следует экранировать. Смотрите мой ответ.
- personmillenomi; 18.09.2008
comment
Это то, что я использую на нескольких веб-сайтах в обязательном порядке.
- personUnkwnTech; 18.09.2008
comment
Да, он будет работать и без неэкранированных точек, потому что точки тоже совпадают с точкой. Есть не так много способов, чтобы это могло пойти не так. Но лучше избегать точек, потому что так вы говорите то, что имеете в виду.
- personPeter Stuifzand; 18.09.2008