如何强制www。用.htaccess?

时间:2014-07-09 09:09:48

标签: .htaccess redirect no-www public-html

我环顾四周,似乎没有人遇到和我一样的问题。

我用过:

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

但是当我导航到yoursite.com时,我会被带到www.yoursite.com/public_html并且不存在。

这是我的目录结构:

/
| .htaccess
|
| public_html
    |
    |index.php

2 个答案:

答案 0 :(得分:2)

尝试使用此行:

RewriteCond %{HTTP_HOST} !^www\.yoursite\.com$ [NC]

Gumbo in his answer (how to force “www.” in a generic way?)推荐了这种结构:

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

答案 1 :(得分:0)

您需要做的就是将.htaccess文件移至public_html文件夹。