我想将所有请求重定向到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]
如果我输入网址,事实上没有任何反应:http://domain.com/articles/article.html 预期的行为是重定向到http://www.domain.com/articles/article.html
实现结果的最佳方法是什么?
由于
答案 0 :(得分:4)
在完成本地.htaccess处理规则后,您需要使用RewriteOptions指令告诉Apache使用父文件夹中的.htaccess:
RewriteOptions inherit
但父级规则将在本地后处理...您可能不喜欢(因此结果网址可能看起来像http://www.domain.com/articles/index.php
,这将在地址栏中显示)。
理想情况下,您希望将所有内容都移到单个.htaccess中 - 如果可以的话。
答案 1 :(得分:0)
如果你把它放在子文件夹中,我认为这应该可行:
RewriteBase /articles/
RewriteCond %{http_host} ^website\.com [nc]
RewriteRule ^(.*)$ http://www.website.com/articles/$1 [R=301,NC]