Вопрос

Я использую сервер LAMP, и мне нужно перенаправить запросы, такие как:

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

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

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

Это было полезно?

Решение

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

# 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.

Другие советы

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

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

Если вас интересует только ограничение "www.www", " & Quot;. WWWW, & Quot; и другие примеры выше, вы можете легко сделать это с помощью некоторого кодирования на стороне сервера (что делает его более гибким, чем реализация большего количества кода .htaccess). Просто определите, что это за поддомен, и перенаправьте туда, куда хотите.

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

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

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

Redirect может принимать параметр для указания типа перенаправления.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top