Перенаправление domain.com на www.domain.com - PullRequest
0 голосов
/ 23 июня 2011

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

RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=permanent,L]

Это работает очень хорошо, за исключением подпапок, где я делаю переписывание URL:

RewriteEngine on
RewriteBase /articles/
RewriteRule ^(.+)$ index.php [L]

На самом деле ничего не произойдет, если я введу URL: http://domain.com/articles/article.html Ожидаемое поведение будет перенаправление на http://www.domain.com/articles/article.html

Каков наилучший способ достижения результата?

Спасибо

Ответы [ 2 ]

4 голосов
/ 23 июня 2011

Вам необходимо использовать директиву RewriteOptions , чтобы указать Apache использовать .htaccess из родительской папки после завершения обработки правил из локального .htaccess:

RewriteOptions inherit

Но родительские правила будут обрабатываться ПОСЛЕ локального ... что вам может не понравиться (в результате URL может выглядеть как http://www.domain.com/articles/index.php, который будет виден в адресной строке).

В идеале вы хотите переместить все в один .htaccess - если можете.

0 голосов
/ 23 июня 2011

Я бы подумал, что это должно работать, если у вас есть это в подпапке:

RewriteBase /articles/
RewriteCond %{http_host} ^website\.com [nc]
RewriteRule ^(.*)$ http://www.website.com/articles/$1 [R=301,NC]
...