当前位置:博客首页>>建站经验 >> 阅读正文

破解cpanel空间的绑定域名限制

作者: 郑晓 分类: 建站经验 发布于: 2012-06-04 19:53 浏览:5,943 没有评论


由于郑晓之前的博客一直使用的是美国的cPanel主机,具体是哪家就不再啰嗦了,不想打广告(现在用的vps也是这家~哈哈)。回归主题,本文要说的是使用apache服务器的.htaccess文件实现子目录的绑定与域名绑定。

首先是子目录。 因为很多的虚拟主机话说是什么都是无限,容量无限、流量无限等,却限定绑定一个域名,被限制了当然很不爽,下面直接提出突破方法。

没什么“违纪”行为,都是原始功能,因为限制是一个附加域、一个暂停域和一个子域,相信大多数朋友用无限空间都习惯于添加附加于,但附加于每添加一个都相对于主域增加一个二级域名,这样你可怜的一个二级域名也会被用掉,所以,这里我们抛弃附加域,使用暂停域,不同的是绑定暂停域只是将域名和主域名绑定到相同的根目录,这样不会产生子目录。下面我们添加子目录。子目录名称填写为“*”,路径和主路径一样。这样使用认识前缀的子目录名都可以访问根目录了,是不是很爽呢?当然,不排除有些cPanel主机不支持泛域名绑定,也就是“*”的绑定(也不在我们讨论范围)。

绑定完成了,就是进入域名管理面板解析了,当然解析也要用“*”的泛解析,可能很多域名商并没有提供泛解析的支持,这里推荐修改ns服务器到dnspod,笔者使用的就是dnspod的免费服务,好像去年升级后D大已经重新开启了泛域名的支持了。

这样下来,相信很多朋友都知道该怎么操作了。没错,新建或者修改根目录的“.htaccess”文件。这之间还遇到一点小问题,也与大家分享了。就是在cPanel的在线文件管理界面(最近喜欢在线编辑)看不到“.htaccess”文件,不知道原因,可能是idc为了限制大家修改或者其他原因吧,总之这个限制难不倒咱们。如果原先有必须使用的内容,就之间ftp客户端下载了修改再覆盖,如果没有实际应用的内容就之间新建后覆盖。

重点就是,内容该怎么写,下面详细的为大家分析了下。总体来说有四个部分。

# 开启功能

RewriteEngine on

# 你要绑定的二级域名 ,blog.poorren.com为要指定转向的二级域名

RewriteCond %{HTTP_HOST} ^(blog.)?poorren.com$

# 把那个子目录指向要绑定的二级域名

# 这里以子目录blog目录为例,两个出现blog的地方为要指定的二级目录

RewriteCond %{REQUEST_URI} !^/blog/

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /blog/$1

#这里改成要绑定的二级域名和要绑定的子目录

RewriteCond %{HTTP_HOST} ^(blog.)?poorren.com$ #此处依然是二级域名,和第二部分二级域名对应

RewriteRule ^(/)?$ blog/index.php [L] #此处是二级目录以及下面的主页文件。

这里等同于是绑定的同时指定了首选主页,其实可以不用指定,该句直接写为

RewriteRule ^(/)?$ blog/ [L]

需要注意的是,如果不指定首页,目录名后面必须跟上”/”,不然绑定就会出现问题。

以上几步操作结束,绑定域名就完成了,这样下来,“.htaccess”里面指定过的二级域名会根据规则转向,而没有指定的则会直接访问到主页,在一定程度上也避免了二级域名输错导向404错误页的情况。

下面就说一下绑定域名,当然,如果你的主机没有域名绑定的限制,上面二级域名的绑定也不会看,更不会看本部分了,这里只针对有需要的朋友,这其实是和gae、sae等不支持域名绑定的开发者空间绑定域名一个道理。没错,就是apache的反向代理。

也不再赘述了,这个操作就是首先把你要绑定不同域名的网站放在某个子目录中,然后绑定任意子目录名称,然后,然后就是找个支持反向代理的空间(测试使用了我的博客主机来做反向代理),绑定域名,在绑定的目录下新建或者修改“.htaccess”文件(有些cPanel主机绑定域名后会自动生成.htaccess)。

在文件中添加如下规则

RewriteEngine On

RewriteBase /

RewriteRule ^(.*)$ http://blog.poorren.com/$1 [P]

这样就可以将某个域名指向到上一步绑定的子目录中了,这样基本就算是突破cPanel主机绑域名限制了吧!

当然,如果使用的是ng的服务器也可以,而且更由于apache

ng的主机就使用下面方法,在配置文件中加入

location / {

rewrite ^/(.*)$ http://blog.poorren.com/$1;

}

方法就介绍到此~虽然稍微麻烦了点儿~应该也不算难吧?

       

本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。

本文永久链接: https://www.zh30.com/binding-domain-of-crack-cpanel-space-limitations.html

发表评论

change vcode