破解cpanel空間的綁定域名限制
作者: 鄭曉 分類: 建站經(jīng)驗(yàn) 發(fā)布于: 2012-06-04 19:53 瀏覽:5,998 沒有評論
由于鄭曉之前的博客一直使用的是美國的cPanel主機(jī),具體是哪家就不再啰嗦了,不想打廣告(現(xiàn)在用的vps也是這家~哈哈)?;貧w主題,本文要說的是使用apache服務(wù)器的.htaccess文件實(shí)現(xiàn)子目錄的綁定與域名綁定。
首先是子目錄。 因?yàn)楹芏嗟奶摂M主機(jī)話說是什么都是無限,容量無限、流量無限等,卻限定綁定一個域名,被限制了當(dāng)然很不爽,下面直接提出突破方法。
沒什么“違紀(jì)”行為,都是原始功能,因?yàn)橄拗剖且粋€附加域、一個暫停域和一個子域,相信大多數(shù)朋友用無限空間都習(xí)慣于添加附加于,但附加于每添加一個都相對于主域增加一個二級域名,這樣你可憐的一個二級域名也會被用掉,所以,這里我們拋棄附加域,使用暫停域,不同的是綁定暫停域只是將域名和主域名綁定到相同的根目錄,這樣不會產(chǎn)生子目錄。下面我們添加子目錄。子目錄名稱填寫為“*”,路徑和主路徑一樣。這樣使用認(rèn)識前綴的子目錄名都可以訪問根目錄了,是不是很爽呢?當(dāng)然,不排除有些cPanel主機(jī)不支持泛域名綁定,也就是“*”的綁定(也不在我們討論范圍)。
綁定完成了,就是進(jìn)入域名管理面板解析了,當(dāng)然解析也要用“*”的泛解析,可能很多域名商并沒有提供泛解析的支持,這里推薦修改ns服務(wù)器到dnspod,筆者使用的就是dnspod的免費(fèi)服務(wù),好像去年升級后D大已經(jīng)重新開啟了泛域名的支持了。
這樣下來,相信很多朋友都知道該怎么操作了。沒錯,新建或者修改根目錄的“.htaccess”文件。這之間還遇到一點(diǎn)小問題,也與大家分享了。就是在cPanel的在線文件管理界面(最近喜歡在線編輯)看不到“.htaccess”文件,不知道原因,可能是idc為了限制大家修改或者其他原因吧,總之這個限制難不倒咱們。如果原先有必須使用的內(nèi)容,就之間ftp客戶端下載了修改再覆蓋,如果沒有實(shí)際應(yīng)用的內(nèi)容就之間新建后覆蓋。
重點(diǎn)就是,內(nèi)容該怎么寫,下面詳細(xì)的為大家分析了下??傮w來說有四個部分。
# 開啟功能
RewriteEngine on
# 你要綁定的二級域名 ,blog.poorren.com為要指定轉(zhuǎn)向的二級域名
RewriteCond %{HTTP_HOST} ^(blog.)?poorren.com$
# 把那個子目錄指向要綁定的二級域名
# 這里以子目錄blog目錄為例,兩個出現(xiàn)blog的地方為要指定的二級目錄
RewriteCond %{REQUEST_URI} !^/blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /blog/$1
#這里改成要綁定的二級域名和要綁定的子目錄
RewriteCond %{HTTP_HOST} ^(blog.)?poorren.com$ #此處依然是二級域名,和第二部分二級域名對應(yīng)
RewriteRule ^(/)?$ blog/index.php [L] #此處是二級目錄以及下面的主頁文件。
這里等同于是綁定的同時指定了首選主頁,其實(shí)可以不用指定,該句直接寫為
RewriteRule ^(/)?$ blog/ [L]
需要注意的是,如果不指定首頁,目錄名后面必須跟上”/”,不然綁定就會出現(xiàn)問題。
以上幾步操作結(jié)束,綁定域名就完成了,這樣下來,“.htaccess”里面指定過的二級域名會根據(jù)規(guī)則轉(zhuǎn)向,而沒有指定的則會直接訪問到主頁,在一定程度上也避免了二級域名輸錯導(dǎo)向404錯誤頁的情況。
下面就說一下綁定域名,當(dāng)然,如果你的主機(jī)沒有域名綁定的限制,上面二級域名的綁定也不會看,更不會看本部分了,這里只針對有需要的朋友,這其實(shí)是和gae、sae等不支持域名綁定的開發(fā)者空間綁定域名一個道理。沒錯,就是apache的反向代理。
也不再贅述了,這個操作就是首先把你要綁定不同域名的網(wǎng)站放在某個子目錄中,然后綁定任意子目錄名稱,然后,然后就是找個支持反向代理的空間(測試使用了我的博客主機(jī)來做反向代理),綁定域名,在綁定的目錄下新建或者修改“.htaccess”文件(有些cPanel主機(jī)綁定域名后會自動生成.htaccess)。
在文件中添加如下規(guī)則
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ http://blog.poorren.com/$1 [P]
這樣就可以將某個域名指向到上一步綁定的子目錄中了,這樣基本就算是突破cPanel主機(jī)綁域名限制了吧!
當(dāng)然,如果使用的是ng的服務(wù)器也可以,而且更由于apache
ng的主機(jī)就使用下面方法,在配置文件中加入
location / {
rewrite ^/(.*)$ http://blog.poorren.com/$1;
}
方法就介紹到此~雖然稍微麻煩了點(diǎn)兒~應(yīng)該也不算難吧?
本文采用知識共享署名-非商業(yè)性使用 3.0 中國大陸許可協(xié)議進(jìn)行許可,轉(zhuǎn)載時請注明出處及相應(yīng)鏈接。
本文永久鏈接: http://yjfs.org.cn/binding-domain-of-crack-cpanel-space-limitations.html