Постоянное перенаправление через правила переписывания apache - PullRequest
5 голосов
/ 05 апреля 2011

Я пытаюсь написать правило для постоянного перенаправления доменного имени на другое доменное имя

RewriteCond %{HTTP_HOST} ^www.companyname1.com$
RewriteRule ^(.*)$ http://www.companyname2.com/$1 [R=301,L]

Это работает только в том случае, если пользователь не помнит, чтобы ввести www, если пользователь не вводит www в URL-адресе, страница загрузится, но ссылки на изображения будут сломаны.

Кто-нибудь знает, как настроить вышеуказанное правило, чтобы оно работало с www и без www?

Я использую конфигурацию LAMP, apache 2 на redhat.

Ответы [ 4 ]

10 голосов
/ 05 апреля 2011

Вы можете указать несколько необязательных условий перезаписи с помощью [ИЛИ]:

RewriteCond %{HTTP_HOST} ^www.companyname1.com$ [OR]
RewriteCond %{HTTP_HOST} ^companyname1.com$
RewriteRule ^(.*)$ http://www.companyname2.com/$1 [R=301,L]

Это должно сработать. Первое условие перезаписи срабатывает, если www присутствует, второе срабатывает, если www был забыт.

2 голосов
/ 21 сентября 2012

У меня не работало перенаправление, и мне пришлось его настроить, ниже приведена рабочая версия, основанная на ответе @Demento.

# Parmenent redirect to webdesign.danols.com of all pages
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.kingston-web-design.com [OR]
RewriteCond %{HTTP_HOST} ^kingston-web-design.com
RewriteRule ^(.*)$ http://webdesign.danols.com.com$1 [R=301,L]
1 голос
/ 27 октября 2016

Если вас не волнует, с чего начинается имя хоста, не корень регулярное выражение, просто убедитесь, что оно заканчивается на companyname1.com.

Что касается начального слеша, просто добавьте его в качестве необязательного к корню вашего регулярного выражения.

RewriteCond %{HTTP_HOST} companyname1.com$
RewriteRule ^/?(.*) http://www.companyname2.com/$1 [R=permanent,L]
0 голосов
/ 15 августа 2018

Или просто с помощью простого регулярного выражения:

RewriteCond %{HTTP_HOST} ^(www.)?companyname1\.com$
RewriteRule ^(.*)$ http://www.companyname2.com/$1 [R=301,L]
...