2013-03-08 50 views

回答

2

恰恰相反,它不能通過重寫url來完成
您需要設置

  • DNS服務器(指示所有子域名到服務器)
  • 和Web服務器(接受它們)。

然而,你不需要任何的查詢字符串也不改寫,因爲你總是可以很容易地從HTTP_HOST變量有你的域。

+0

感謝你的回答。但是當我在地址欄中寫入http://sub.domain.com時,它顯示的頁面無法顯示,bcoz子域不是現有的子域。我無法使用HTTP_HOST來獲取URL並提取單詞「sub」。 – Arindam 2013-03-08 18:14:10

+0

如上所述,服務器必須配置爲偵聽子域名。假設DNS解析爲正確的IP,則必須將每個子域設置爲映射到相同的目錄,或者如果您有權訪問服務器配置,則可以爲該域放入通配符記錄。只是爲了澄清一下......一旦完成了這一切,那麼你可以使用URL重寫來將sub.domain.com更改爲sub.domain.com/page.php?c=sub,如果你願意的話,指出你不妨使用HTTP_HOST變量。 – Josh 2013-03-08 18:23:00

2

我認爲你應該分兩步做。

步驟1

如果你有你的控制面板上直接訪問,你應該去它,並使用星號*

這一步,你可以使用sub.domain.com後的通用虛擬子站點。如果你沒有acees來控制面板,請管理員爲你做。

第2步: 您應該修改下面一行.htaccess文件

#提取domain.com的子域部分

RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.com$ [NC] 

#檢查子域部分不www和ftp和郵件

RewriteCond %1 !^(www|ftp|mail)$ [NC] 

#重定向傳遞作爲參數的子域

RewriteRule ^.*$ http://www.domain.com/page.php?c=%1 [R,L] 

我希望所有的請求PHP腳本,這可以幫助你

相關問題