我正在使用htaccess将我的网站从非www重定向到www,
.htaccess文件配置
Options +FollowSymLinks
Options -Indexes
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]因此,我的域将重定向到www.website.com而不是website.com。
但问题是当我使用IP地址访问网站时,它会将www添加到像http://www.192.168.0.0/这样的IP地址中。如何在IP之前删除www?
DNS
A @ <IP>
CNAME * <www.website.com>发布于 2015-03-12 20:33:59
如果这个htaccess规则只用于一个站点,您可以只使用域名而不是变量。就像下面这样。
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.yoursite.com/$1 [R=301,L]发布于 2015-03-12 21:49:01
您可以添加一个条件以确保IP地址不会发生此www:
Options +FollowSymLinks -Indexes
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} !^\d{1,3\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]发布于 2015-03-12 20:40:28
没有什么可修复的,但却很少。在这种情况下,您应该以不同的方式指定mod重写;您可能希望集成{HTTP_HOST}来检测域名;如果这适用于一个域,我将保留它并按原样进行尝试。
RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=permanent,L] 这不会重定向IP地址。
https://stackoverflow.com/questions/29019642
复制相似问题