使用.htaccess在URL中添加www

时间:2013-06-12 05:54:33

标签: php wordpress .htaccess mod-rewrite url-rewriting

我有这个网址http://mysite.com/blog/,我想将其转换为http://www.mysite.com/blog/

我在尝试:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^mysite\.com/blog/ [NC]
RewriteRule ^(.*)$ http://www.mysite.com/blog/ [L,R=301]

我尝试先将它放在root中然后放在博客目录中但是没有用。

还有一个条件。我不希望更改任何其他网址,因为它们已从http://www.mysite.com/修改为http://www.shop.mysite.com/。我只希望/blog添加www的网址,并在wordpress中开发博客。

任何帮助都将不胜感激。

这是我尝试的另一个解决方案,它会导致重定向循环

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

2 个答案:

答案 0 :(得分:0)

这应该有效

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

答案 1 :(得分:0)

事实证明第二种解决方案确实有效。你只需要将htaccess置于root。所以问题的最终解决方案是:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]