Перенаправление htaccess на / blog удаление www из всех мест - PullRequest
1 голос
/ 07 июля 2011

У меня есть WordPress блог на /blog, который настроен для работы без www.поэтому URL-адрес блога: http://domain.com/blog/

Мне нужно перенаправить весь трафик с:

www.domain.com
domain.com
www.domain.com/*
domain.com/*
www.domain.com/blog/
www.domain.com/blog/*

, чтобы рут попадал в блог и любой www.которые были добавлены или неправильно настроены, будут удалены.

Я не могу настроить файл .htaccess в корне / и /blog/ для работы.

1 Ответ

0 голосов
/ 07 июля 2011

Эти правила должны выполнять эту работу (хотя требуется некоторое РЕАЛЬНОЕ тестирование, поскольку я только что симулировал все URls):

RewriteEngine On
RewriteBase /

# add trailing slash in /blog if absent 
RewriteRule ^blog$ http://domain.com/blog/ [NC,QSA,R=301,L]
# redirect to /blog/ on domain.com
RewriteCond %{HTTP_HOST} =domain.com
RewriteRule ^(?!blog/?)(.*)$ http://domain.com/blog/$1 [NC,QSA,R=301,L]
# redirect to /blog/ on www.domain.com
RewriteCond %{HTTP_HOST} =www.domain.com
RewriteRule ^(blog/)?(.*)$ http://domain.com/blog/$2 [NC,QSA,R=301,L]

Если какой-то URL НЕ перенаправляется, дайте мне знать (FULL URL), чтобы я мог посмотреть его.

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