2013-10-27 18 views
0

我正在網站www(dot)shopingmart(dot)com基本上是一個分類網站,我需要解決我面臨的問題,現在我花了很多時間,但無法解決。即時通訊試圖實現。如何將多個子域用於多個城市

如果用戶訪問newyork.example.com或ohio.example.com

這兩個城市指向同一網站表示www.example.com

但顯示相關內容的城市(如OLX完成)

我已創建通配符域* .example.com的用一記 我還創建了兩個子域

newyork.example.com and 

ohio.example.com 

還創建名.hta CCESS以將流量重定向到index.php

RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

然後解析

$_SERVER['HTTP_HOST'] to obtain subdomain 

但是當我鍵入newyork.example.com它會給我500內部錯誤

請幫忙分擔一些想法我無法解決這個問題

最好的問候

+0

啊,爲什麼換行?這是非常難以閱讀的。 – MightyPork

+0

MightyPork我編輯和更新。其實我新用戶PLZ接受道歉 – lordman

回答

0

你應該使用通配符創建一個虛擬主機來接受來自特定域的所有子域。

這是我做的,基本上做你所需要的系統的配置示例:

NameVirtualHost *:80 
<VirtualHost *:80> 
    DocumentRoot /www/your_site 
    ServerName example.com 
    ServerAlias *.example.com 
</VirtualHost> 

這使得阿帕奇接受所有子域(化名)爲特定的域。

您應該先嚐試使用此方法,而不使用重寫規則,並且僅在通配符工作後插入規則。

編輯:

關於資產路徑改變下的子域,重寫規則需要指向文檔根目錄的index.php:

RewriteRule . %{DOCUMENT_ROOT}/index.php [L] 
+0

我已經使用cpanel創建通配符子域。如果你訪問我的網站頂部(標題部分),你會看到** www **如果你輸入完整的網站地址(www(dot)shopingmart(dot)com)這個表演通配符工作正常。我的問題是爲什麼當我使用newyork.example.com時它不工作。 – lordman

+0

您是否嘗試使用這些子域加載任何靜態文件?如果可以訪問靜態內容,那麼您的問題可能與您的PHP腳本有關。如果您的內容仍然無法訪問,那麼您的虛擬主機中的某些配置錯誤。 – lomantpa

+0

親愛的lomantpa感謝它現在的工作,但我需要問的一件事,我放在我的域之前的任何東西,它會改變路徑和網站看起來像沒有任何CSS。爲什麼是這樣。現在我需要爲每個城市創建子域嗎?關於城市重寫規則的任何幫助 – lordman