В .htaccess, как перенаправить не строчные версии имени хоста - PullRequest
1 голос
/ 12 ноября 2010

В .htaccess на Apache2, как перенаправить все варианты ввода имени хоста с заглавной буквы в каноническую строчную версию, с помощью перенаправления 301 и сохранения остальной части пути в целости и сохранности. Субдомены (или нет) должны делать то же самое.

Кроме того, доступ по IP должен не перенаправлять.

Примеры:

Ответы [ 2 ]

1 голос
/ 12 ноября 2010
# Make sure hostname is lowercase only (or an IP address)
RewriteCond %{HTTP_HOST} !^(.+\.)?example\.com$
RewriteCond %{HTTP_HOST} !^[\d\.]{7,15}$
RewriteRule ^(.*)$ ${lowercase:%{HTTP_HOST}}/$1 [R=301,L]
0 голосов
/ 26 октября 2011

Я искал и не смог найти онлайн решение, которое охватывает любое количество доменов. Сценарий использования для меня заключается в том, что я работаю на localhost, поэтому первая строка (с example.com) не будет работать как на localhost, так и на моем домене, а также любое другое имя, которое кто-то использует вместо localhost.

Чтобы добавить к ответу @philfreo, следовательно: (копирование строк, но изменение только первого)

# Make sure hostname is lowercase only (or an IP address)
RewriteCond %{HTTP_HOST} !^(.+\.)?(.+)?$
RewriteCond %{HTTP_HOST} !^[\d\.]{7,15}$
RewriteRule ^(.*)$ ${lowercase:%{HTTP_HOST}}/$1 [R=301,L]

Реквизит для philfreo! С его ответом сэкономлено много времени.

Paragon

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