Redirect 301 www.www.example.com
-
06-07-2019 - |
Вопрос
Я использую сервер 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 может принимать параметр для указания типа перенаправления.