首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在IP地址之前删除www

问如何在IP地址之前删除www
EN

Stack Overflow用户
提问于 2015-03-12 20:30:41
回答 3查看 153关注 0票数 1

我正在使用htaccess将我的网站从非www重定向到www,

.htaccess文件配置

代码语言:javascript
复制
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

代码语言:javascript
复制
 A        @       <IP> 

CNAME     *       <www.website.com>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-12 20:33:59

如果这个htaccess规则只用于一个站点,您可以只使用域名而不是变量。就像下面这样。

代码语言:javascript
复制
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]
票数 1
EN

Stack Overflow用户

发布于 2015-03-12 21:49:01

您可以添加一个条件以确保IP地址不会发生此www:

代码语言:javascript
复制
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]
票数 1
EN

Stack Overflow用户

发布于 2015-03-12 20:40:28

没有什么可修复的,但却很少。在这种情况下,您应该以不同的方式指定mod重写;您可能希望集成{HTTP_HOST}来检测域名;如果这适用于一个域,我将保留它并按原样进行尝试。

代码语言:javascript
复制
RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=permanent,L] 

这不会重定向IP地址。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29019642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档