如何去掉IP地址前的www
How to remove www before the IP address
我正在使用 htaccess 将我的网站从非 www 重定向到 www,
.htaccess 文件配置
Options +FollowSymLinks
Options -Indexes
RewriteEngine on
RewriteCond !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/ [R=301,L]
所以我的域重定向到 www.website.com
而不是 website.com
。
但是当我使用IP地址访问网站时,问题就来了,它正在向IP地址添加www
,就像这样http://www.192.168.0.0/
。怎么去掉IP前面的www?
DNS
A @ <IP>
CNAME * <www.website.com>
如果此 htaccess 规则仅用于一个站点,您可以只使用域名而不是变量。像下面这样。
RewriteEngine on
RewriteCond !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.yoursite.com/ [R=301,L]
没有太多要解决的问题,但也很少。在这种情况下,您应该以不同的方式指定 mod 重写;您可能希望集成 {HTTP_HOST} 以进行域名检测;如果这适用于一个域,我会保留它并按原样尝试。
RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ http://www.domain.com/ [R=permanent,L]
这不会重定向 IP 地址。
您可以添加条件以确保此 www
不会发生在 IP 地址:
Options +FollowSymLinks -Indexes
RewriteEngine on
RewriteCond !^(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}/ [R=301,L]
我正在使用 htaccess 将我的网站从非 www 重定向到 www,
.htaccess 文件配置
Options +FollowSymLinks
Options -Indexes
RewriteEngine on
RewriteCond !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/ [R=301,L]
所以我的域重定向到 www.website.com
而不是 website.com
。
但是当我使用IP地址访问网站时,问题就来了,它正在向IP地址添加www
,就像这样http://www.192.168.0.0/
。怎么去掉IP前面的www?
DNS
A @ <IP>
CNAME * <www.website.com>
如果此 htaccess 规则仅用于一个站点,您可以只使用域名而不是变量。像下面这样。
RewriteEngine on
RewriteCond !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.yoursite.com/ [R=301,L]
没有太多要解决的问题,但也很少。在这种情况下,您应该以不同的方式指定 mod 重写;您可能希望集成 {HTTP_HOST} 以进行域名检测;如果这适用于一个域,我会保留它并按原样尝试。
RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ http://www.domain.com/ [R=permanent,L]
这不会重定向 IP 地址。
您可以添加条件以确保此 www
不会发生在 IP 地址:
Options +FollowSymLinks -Indexes
RewriteEngine on
RewriteCond !^(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}/ [R=301,L]