htaccess non-www将特定目录重定向到www目录

时间:2013-05-06 17:53:25

标签: .htaccess web

我的htaccess文件出现了一个奇怪的问题,而且我最好是htaccess的新手......

我的托管帐户上有云端闪存(CF),这也让人感到皱纹。此外,我还在网站上运行了多个子域。它是多站点wordpress。

我的SEO顾问要求确保将我的目录正确地重定向到www。

第一条规则是通过我的主机上的重定向选项添加的。

因为CF必须在子域(www或其他)上有流量,所以他们会输入htaccess规则,如下所示:

    RewriteCond %{HTTP_HOST} ^mydomain.com$
    RewriteRule ^my\-dir\/$ "http\:\/\/www\.mydomain\.com\/my\-dir\/" [R=301,L]

   # Start CloudFlare:mydomain.com rewrite. Do not Edit 
   RewriteCond %{HTTP_HOST} ^mydomain.com
   RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 
   # End CloudFlare rewrite. 

现在我看到的是 - 如果您导航到mydomain.com/my-dir/,我会被路由到www.mydomain.com。我不确定为什么会这样......

正如我一直在测试的那样,我已经清空缓存等......

谢谢!斯科特

1 个答案:

答案 0 :(得分:1)

如果在/my-dir/等目录中安装了wordpress,则需要在这些目录中找到的htaccess文件中添加规则。子目录中的htaccess文件中的任何重写规则都完全取代在所有父目录中找到的任何规则。因此,您需要在my-dir目录中的htaccess文件中添加类似内容,高于任何wordpress规则

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