.htaccess重写规则将www附加到IP地址 - 如何避免?

时间:2015-02-26 22:54:19

标签: apache .htaccess mod-rewrite url-rewriting

我的htaccess重写规则将www附加到我的ip,所以当我输入我的浏览器时

1.1.1.1

它会自动变为

www.1.1.1.1并且无法加载。

如何避免这种情况,但继续将www追加到domain.com类型的请求?

原始规则:

RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用此.htaccess:

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

或者对于所有IP地址:

RewriteCond %{HTTP_HOST} !(^www\.|\d+\.\d+\.\d+\.\d+)
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

答案 1 :(得分:0)

试试这个。

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

这可能是另一种解决方案。

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