為了圖個方便,筆者的博客一直使用的cPanel面板的國外主機(具體的那家就不再啰嗦了),流量不是太大,寫個博客足夠了,所以一直沒有像有些朋友寫個博客搞臺vps,
突破cPanel主機綁定域名限制的小技巧
。當然,出于長期使用cPanel面板主機的緣故吧,有了便宜的推廣虛機,還是會去關(guān)注一下的,不過一般也只是關(guān)注而已了。
話歸原題,本文要說的是使用apache服務(wù)器的.htaccess文件實現(xiàn)子目錄的綁定與域名綁定。
首先是子目錄。寫此文初衷是為了解決去年在hostable的“ ”得到的無限空間兩年,這個可能知道的人少一些(在此之前有0.99美元三年 的,我也買了,到14年過期,此機為兩年,到13年),因為空間閑置,而且不像hostable的0.99刀三年的無限主機,什么都是無限,這個空間雖容 量、流量無限制,卻限定綁定一個域名,最近沒事想拿出來折騰一下,發(fā)現(xiàn)限制的很不爽,具體這里不再啰嗦。
下面直接提出突破方法。
沒什么“違紀”行為,都是原始功能,因為限制是一個附加域、一個暫停域和一個子域,相信大多數(shù)朋友用無限空間都習慣于添加附加于,但附加于每添加一 個都相對于主域增加一個二級域名,這樣你可憐的一個二級域名也會被用掉,所以,這里我們拋棄附加域,使用暫停域,不同的是綁定暫停域只是將域名和主域名綁 定到相同的根目錄,這樣不會產(chǎn)生子目錄。下面我們添加子目錄。子目錄名稱填寫為“*”,路徑和主路徑一樣。這樣使用認識前綴的子目錄名都可以訪問根目錄 了,是不是很爽呢?當然,不排除有些cPanel主機不支持泛域名綁定,也就是“*”的綁定(也不在我們討論范圍)。
綁定完成了,就是進入域名管理面板解析了,當然解析也要用“*”的泛解析,可能很多域名商并沒有提供泛解析的支持,這里推薦修改ns服務(wù)器到dnspod,筆者使用的就是dnspod的免費服務(wù),好像去年升級后D大已經(jīng)重新開啟了泛域名的支持了。
這樣下來,相信很多朋友都知道該怎么操作了。沒錯,新建或者修改根目錄的“.htaccess”文件。這之間還遇到一點小問題,也與大家分享了。就 是在cPanel的在線文件管理界面(最近喜歡在線編輯)看不到“.htaccess”文件,不知道原因,可能是idc為了限制大家修改或者其他原因吧, 總之這個限制難不倒咱們。如果原先有必須使用的內(nèi)容,就之間ftp客戶端下載了修改再覆蓋,如果沒有實際應(yīng)用的內(nèi)容就之間新建后覆蓋。
重點就是,內(nèi)容該怎么寫,下面詳細的為大家分析了下?傮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] #此處是二級目錄以及下面的主頁文件,
電腦資料
《突破cPanel主機綁定域名限制的小技巧》(http://www.szmdbiao.com)。這里等同于是綁定的同時指定了首選主頁,其實可以不用指定,該句直接寫為
RewriteRule ^(/)?$ blog/ [L]
需要注意的是,如果不指定首頁,目錄名后面必須跟上”/”,不然綁定就會出現(xiàn)問題。
以上幾步操作結(jié)束,綁定域名就完成了,這樣下來,“.htaccess”里面指定過的二級域名會根據(jù)規(guī)則轉(zhuǎn)向,而沒有指定的則會直接訪問到主頁,在一定程度上也避免了二級域名輸錯導向404錯誤頁的情況。
下面就說一下綁定域名,當然,如果你的主機沒有域名綁定的限制,上面二級域名的綁定也不會看,更不會看本部分了,這里只針對有需要的朋友,這其實是和gae、sae等不支持域名綁定的開發(fā)者空間綁定域名一個道理。沒錯,就是apache的反向代理。
也不再贅述了,這個操作就是首先把你要綁定不同域名的網(wǎng)站放在某個子目錄中,然后綁定任意子目錄名稱,然后,然后就是找個支持反向代理的空間(測試 使用了我的博客主機來做反向代理),綁定域名,在綁定的目錄下新建或者修改“.htaccess”文件(有些cPanel主機綁定域名后會自動生 成.htaccess)。
在文件中添加如下規(guī)則
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ http://blog.poorren.com/$1 [P]
這樣就可以將某個域名指向到上一步綁定的子目錄中了,這樣基本就算是突破cPanel主機綁域名限制了吧!
當然,如果使用的是ng的服務(wù)器也可以,而且更由于apache
ng的主機就使用下面方法,在配置文件中加入
location / {
rewrite ^/(.*)$ http://blog.poorren.com/$1;
}
固定鏈接:http://www.poorren.com/cpanel-domain-limit/