金鱼眼

二級域名解析那些事及.HTACCESS指向帝國CMS子目錄移動站的神奇魔法

二級子域名解析那些事

域名解析,本來是一件簡單的事,例如常用的三種:

1.A記錄解析

指向主機某個IP地址。

域名解析A記錄

通常是解析帶WWW的子域名(二級域名)或者@解析根域名,然后在指向類型里選擇A記錄,輸入主機的IP地址(主機商提供)即可完成解析。

2.CNAME解析

指向某個主機別名(別名由主機服務商提供)。好處是當主機空間更換IP地址時,不需要重新去做域名解析。是否使用CNAME,要看不同的主機商空間環境而定。

CNAME域名解析

例如,解析WWW二級子域名,選擇記錄類型為CNMAE,然后指向一個別名。

3.解析一級域名,不帶WWW

常識:以華哥個人網站為例,根域名只有一個,即xiaoyunhua.com,而像www.nqxrd.club 或m.xiaoyunhua.com這樣的域名,通通都是二級子域名。

根域名,也叫一級域名,解析就是使用一個符號:@。示例如下圖。

一級域名的解析

如上,同樣是A記錄解析,只要把主機記錄設為@就好。例如,如果把xiaoyunhua.com用@做了一級域名解析,那么輸入xiaoyunhua.com就可以訪問網站,而如果沒有設置一級域名解析,那輸入網址就會…..顯示一片空白吧。

此外,從SEO的角度來看,最好不要一級域名和二級域名火力齊開,通通A記錄到底,指向同一個IP,打開都是同一個網站(搜索引擎有可能將其視為兩個網站從而分散權重或網站內容重復),這對SEO不太友好。一種方法就是確定一個主域名,例如WWW的主域名,對一級域名則進行URL轉發解析,用的符號還是@。如下:

URL跳轉解析

如上,你可以解析xiaoyunhua.com這個一級域名,當用戶在瀏覽器輸入時,自動跳轉到帶WWW的,即www.nqxrd.club。

(當然,你也可以反著來,將帶WWW的跳轉至一級域名。)

至于像泛域名解析,方法很簡單,只要將@符號換成*符號即可,不過通常不需要設置,除非你的域名很知名,怕有很多人在瀏覽器中輸入出錯,損失部分流量,待到那時真有需求時,再去參考使用吧。

二 帝國CMS二級域名解析至網站目錄的.htaccess操作

用帝國CMS搭建網站,其中PC端和手機端分開,手機端使用m.xxxxxxx.com這樣的方法,通常方法是在主機空間里建一個子目錄,如msite,當輸入m.xxxxxxx.com這樣的域名時,指向空間里的msite目錄。

m二級域名解析方法

m二級域名要如何解析呢,見圖。

m二級域名解析

咦,怎么和WWW一個樣,沒區別?對,就是一樣,就是沒有區別。

再次回到那個一級和二級域名常識,套路就是一個:WWW是怎樣解析的,m就是依葫蘆畫瓢同樣操作,因為原理是,兩者都是二級域名嘛~

可是解析了M,有的自動就生效,有的不生效——輸入m.xxxxxx.com打開的還是PC網站,這要怎么辦。

華哥的回答是:會不會自動生效,是和主機空間的環境設置不同而定的。

注意,以下的內容已經離開了域名解析這個環節,進入了網站主機空間的設置管理。

虛擬主機子域名管理

自動生效是在主機管理后臺,可以設置子域名。

主機管理子域名

以華哥使用的野草云云虛擬主機為例,只需在后臺添加子域名,然后在帝國cms中的網站訪問端的手機訪問端地址設置匹配就好。子域名就自然生效了。

子域名與帝國cms手機端

有些主機管理系統,可以直接解析子域名的同時,選擇設置某個目錄。

阿里云虛擬主機子域名設置

可是如果網站放在阿里云的標準主機或其他空間商的虛擬主機里,可能就不會這樣方便了。因為主機管理系統似乎不提供這樣的功能。那只有用到神奇而恐怖的.htaccess文件了。

這是一個通用模板:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www.)?要綁定的域名$ 
RewriteCond %{REQUEST_URI} !^/目錄名/ 
# 不要改以下兩行. 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /目錄名/$1 
# 目錄名/ 后面是首頁文件index.php, index.html…… 
RewriteCond %{HTTP_HOST} ^(www.)?要綁定的域名$ 
RewriteRule ^(/)?$ 目錄名/index.php [L]

以下,是華哥所套用的實例。

RewriteEngine on

#設置m指向根目錄的子目錄/mphone

RewriteCond %{HTTP_HOST} ^m.hnxhd.cn$
RewriteCond %{REQUEST_URI} !^/mphone/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /mphone/$1
RewriteCond %{HTTP_HOST} ^m.hnxhd.cn$
RewriteRule ^(/)?$ mphone/ [L]

.htaccess文件中的這段內容看起來如同天書,不知所云,不過放上去測試,第一天是成功了,看來真是神奇啊,如同施展了魔法一樣!

可是第二天,輸入移動端網址時,跳出一片空白打不開了。filezilla又把.htaccess文件再檢查和上傳一次,100%完成任務,可是一眨眼,服務器端的.htaccess文件就消失不見了。糟糕,難道是沒有權限,服務器自動刪除,好怕,這可咋整。

好在搜索資料最后發現,原因竟是服務器把.htaccess文件給隱藏了。

服務器把.htaccess隱藏

于是在filezilla菜單中,選擇強制顯示隱藏文件,這樣就可以看到.htaccess文件了。待.htaccess文件發揮正常,寶寶就可以安心下班咯。

(我想,對于精通網絡的服務器管理人員來說,這是小case,熟練于心。而對于像我們這種非專業人士來說,畢竟不是天天弄這個,雖然有時誤打誤撞也能搞定,但最好還是記錄下來,以備以后還要用到。)

這篇文章對俺有幫助,打賞犒勞下作者吧?

本文鏈接:肖運華 » 網站策劃設計制作優化 » 二級域名解析那些事及.HTACCESS指向帝國CMS子目錄移動站的神奇魔法
原創文章,轉載請注明:http://www.nqxrd.club/3424.html

發表評論

電子郵件地址不會被公開。

金鱼眼