2009-06-23 4 views
4

Я использую сервер LAMP, и мне нужно перенаправить запросы как:Перенаправление 301 www.www.example.com

www.www.example.com на www.example.com и другие варианты, такие как (wwww.example.com и т. д.)

Я знаю, что могу сделать это в .htaccess, но я не знаю регулярного выражения, которое я должен использовать для представления всех этих возможностей.

Или существует какой-либо другой подход, исходящий от vhosts?

+0

Чтобы сообщить вам: существует стандарт, определяющий, что www.example.org следует использовать, например, URI. –

+0

@ Lennart ты серьезно? кто это написал ?! – Cogsy

+1

@Cogsy см. Http://www.example.com/ –

ответ

5

мне нравится:

# force www IN URL 
RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] 
# END force www IN URL 

В принципе ничего, что это не www.example.com получит перенаправлять 301'd.

2

См. Эту статью для реализации «поддоменов подстановочных знаков». Вам понадобится реализовать как .htaccess, так и модификацию Vhosts.

http://www.easymodrewrite.com/example-subdomains

Если вы заинтересованы только в ограничении его «www.www», «WWWW.,» И другие примеры выше, вы можете легко сделать это с какой-то стороне сервера кодирования (что делает он более гибкий, чем реализация большего .htaccess кода). Просто определите, что такое субдомен, и перенаправляйте туда, где хотите.

0

основе, используя имя виртуальных хостов в Apache вы можете сделать это:

<VirtualHost *:80> 
    ServerName example.com 
    ServerAlias wwww.example.com www.www.example.com [space seperated list] 

    Redirect/http://www.example.com/ 
</VirtualHost> 

Перенаправление может принимать параметр, чтобы указать тип перенаправления.

+0

Недостатком этого подхода является то, что вы должны заранее знать опечатки. – artlung

+0

вам все еще нужны все возможные «опечатки» в DNS ... – Cogsy

Смежные вопросы