国强极客
有问题请加微信:guoqiang7585
国强极客

服务器虚拟主机禁止输入ip直接访问或输入ip自动301跳转到域名

服务器虚拟主机禁止输入ip直接访问或输入ip自动301跳转到域名

如何设置禁止输入IP直接访问网站

公司网站用的是阿里云的独立服务器,phpnow配置的简易环境,最近发现百度收录的是ip,用ip也可以直接访问。购买了独立IP后你可能会发现不用输入域名,直接输入你网站的IP地址也可以访问你的网站了!不过,接触过SEO的朋友肯定都知道,这会被搜索引擎认为网上存在了“重复内容”,对我们做站是不利的!怎么办呢?当然是禁止输入IP就可以直接访问网站了!对于VPS或独立主机的朋友来说,他们可以通过修改httpd.conf文件的方法来实现,而且修改后需要重新启动,如果你使用的只是虚拟主机,这种方法肯定是不行了!那么,虚拟主机如何设置禁止输入IP直接访问网站呢?

服务器虚拟主机禁止输入ip直接访问或输入ip自动301跳转到域名

虚拟主机设置禁止输入IP直接访问网站的方法
使用虚拟主机当然没有对服务器根目录文件的编辑权限了!不过咱们可以编辑.htaccess文件不是?如果没有.htaccess文件的话,就需要我们自己先创建一个,不过在windows下不能直接创建这样的文件,我们可以先创建了个htaccess.txt文件,然后把下面的代码加进去。之后再把这个文件上传到你网站的根目录下,并将其改名为.htaccess。

RewriteCond %{http_host} ^你网站的IP地址 [NC]
RewriteRule ^(.*)$ 域名/$1 [R=301,L]
RewriteBase /

VPS或服务器设置禁止输入IP直接访问网站的方法
下面这部分内容是从网络上搜集的,仅限apache服务器系统,大家可以参考一下:

apache设置禁止使用IP访问网站的实现方法

在用apache搭建的WEB服务器的时候,如何想只能通过设定的域名访问,而不能直接通过服务器的IP地址访问呢,有以下两种方法可以实现(当然肯定还会有其他方法可以实现),都是修改httpd.conf文件来实现的,下面举例说明。

方法一:在httpd.conf文件最后面,加入以下代码

NameVirtualHost 221.*.*.*
<VirtualHost 221.*.*.*>
ServerName 221.*.*.*
<Location />
Order Allow,Deny
Deny from all
</Location>
</VirtualHost>
<VirtualHost 221.*.*.*>
DocumentRoot “/www/web”
ServerName jiaook.com
</VirtualHost>

说明:蓝色部分是实现拒绝直接通过221.*.*.*这个IP的任何访问请求,这时如果你用221.*.*.*访问,会提示拒绝访问。红色部分就是允许通过www.gd97.com这个域名访问,主目录指向/www/web(这里假设你的网站的根目录是/www/web)

方法二:在httpd.conf文件最后面,加入以下代码

NameVirtualHost 221.*.*.*
<VirtualHost 221.*.*.*>
DocumentRoot “/www/test”
ServerName 221.*.*.*
</VirtualHost>
<VirtualHost 221.*.*.*>
DocumentRoot “/www/web”
ServerName jiaook.com
</VirtualHost>

说明:蓝色部分是把通过221.*.*.*这个IP直接访问的请求指向/www/test目录下,这可以是个空目录,也可以在里面建一个首页文件,如index.hmtl,首面文件内容可以是一个声明,说明不能通过IP直接访问。红色部分的意思跟方法一是一样的。

注:修改后需要重启apache

赞赏
对内容有疑问,请加我微信:guoqiang7585
# #
首页      运营安全      网站优化      服务器虚拟主机禁止输入ip直接访问或输入ip自动301跳转到域名

国强极客

文章作者

博客站长,有问题请加微信【guoqiang7585】。

国强极客

服务器虚拟主机禁止输入ip直接访问或输入ip自动301跳转到域名
如何设置禁止输入IP直接访问网站 公司网站用的是阿里云的独立服务器,phpnow配置的简易环境,最近发现百度收录的是ip,用ip也可以直接访问。购买了独立IP后你可能会发现不用输入域名,…
扫描二维码继续阅读
2015-01-07