绑定二级域名的子目录,如何限制主域名访问

Wordpress主题 2015年03月07日 ,

forbidden main domain

问题

现在使用的主机是趁着衡天主机有活动时购买的,100元/年香港独立IP主机,可以建站3个同时支持无限个的子域名。就弄了个实验室的二级域名,设置域名解析,设置主机二级域名绑定,一切都很顺利。

两个域名如下:

目录文件类似以下结构:

/*
├─public_html               # 网站根目录
│  ├─lab                    # lab.furzoom.com目录
│  ├─...                    # 其他目录
│  ├─index.php              # furzoom.com入口文件
*/

直到有一些发现,lab目录还可以通过

http://furzoom.com/lab/

进行访问,这个不能忍,顿时1000000个怒吼。先不说这对SEO是十分不利的,而且很可能会受到搜索引擎的惩罚。关键是读者也会被带的晕头转向的。

总结下问题:

将二级域名绑定到主域名目录下的一个文件夹,如何限制主域名通过目录的形式进行访问?

furzoom.com对应文件夹为public_html,lab.furzoom.com对应文件夹为public_html/lab,如何限制以furzoom.com/lab/形式进行访问?

本文地址:http://furzoom.com/forbidden-main-domain-access/

解决方案

冷静下来还是得解决问题,怎么办?怎么办?首先想到的办法是与主机供商进行沟通,看有什么解决方案。两个域名应该对应两个网站空间,现在投机取巧使用一个空间。得到答案说可以再建一个网站,将二级域名绑定过去。好吧,其实这样的结果等没有。

后来想想应该可以通过.htaccess文件进行限制访问。可以对于rewrite的语法不了解,书到用时方恨少啊,只能google啊,百度更是没有靠谱答案,没有答案。

去几个QQ群和问答论坛也问了,没有结果,看来大家对这样的小问题都是不屑回答啊!

只好自己去看apache对rewrite的语法了。功夫不负有心人啊,尝试几次终于成功了!

在lab文件下的.htaccess文件里添加如下内容,如果没有,就新建一个.htaccess文件。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^furzoom.com [NC]
RewriteCond %{REQUEST_URI} ^/lab/ [NC]
RewriteRule ^.*$ - [F,L]
</IfModule>

第1行和第6行分别表示针对重写(rewrite)模块的定义的开始和结束。第2行开启rewrite模块。第3行第4行表示重写的条件是域名为furzoom.com且请求的地址起始为/lab/的情况,第5行表示对符合上述条件的请求执行的操作,此处为403禁止,由F表明。

只需要针对上述的furzoom.com和/lab/进行调整,就可以适用于其他网站。重写的规则也可以直接重定向为lab.furzoom.com。其他内容自行发挥吧!

当然适用的条件是你是apache服务器(大多架设在Linux系统上)且支持rewrite模块,不过大多数的apache服务器都支持rewrite模块。

如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
日志标题:《绑定二级域名的子目录,如何限制主域名访问》
日志链接:http://furzoom.com/forbidden-main-domain-access/
博客名称:枫竹梦

2 篇回应 (访客:1 篇, 博主:1 篇)

  1. leon 2015-9-03

    使用cpanel面板的空间的结构好像都这样。

    #-49楼
    • 马 岩 2015-9-03

      @leon 在国内使用Cpanel面板的空间商太多了!

插入图片

NOTICE1:请申请gravatar头像,没有头像的评论可能不会被回复!

回到顶部