2013-06-05 57 views
1

我還是那麼新的URL重寫。在這裏需要一些幫助。需要網址重寫幫助

我想爲我的網站上的每個國家設置不同的子域名。

做了一些研究,這裏是我得到的

RewriteCond %{HTTP_HOST} ^([^.]+)\.mydomain\.com$ 
    RewriteRule ^=(.*)$   http://mydomain.com/o9_advertiser/ad_list/ad_list.php?country=$1 [L,R] 

將不勝感激,如果任何人都可以在這裏提供一些幫助。謝謝。

+0

相同的頁面您試圖與'^ =(。*)$'匹配的輸入URL是什麼? –

+0

您在RewriteCond中做的子域名捕獲將在'RewriteRule'中以'%1'形式提供,而非$ 1',如果這是您的目標。 –

+0

我試圖在等號後得到國家。所以它變成了country.mydomain.com。我將它更改爲%1,但仍然無效。 – Lawrence

回答

1
RewriteCond %{HTTP_HOST} ^(.+)\.o9village\.com$ 
RewriteRule (.*) o9_advertiser/ad_list/ad_list.php?country=%1 [L] 

在第一行,它檢查它是否像iran.mydomain.com或類似的東西?如果是,則進入重寫規則,其將內部重定向到http://mydomain.com/o9_advertiser/ad_list/ad_list.php(用戶在他/她的瀏覽器中不能看到重定向)。 如果您使用ad_list.phpvar_dump功能看$_GET數組,你會看到類似這樣的:

array(2) { 
    ["country"]=> 
    string(4) "iran" 
    ["path"]=> 
    string(9) "index.php" 
} 

編輯: OK,登錄到您的cPanel賬戶,創建一個子域*.o9village.com。將Document Root設置爲指向主域的文檔根目錄o9village.com。現在,如果您瀏覽iran.o9village.com,您將會看到與http://o9village.com/o9_advertiser/ad_list/ad_list.php?country=iran

+0

嗨。感謝您的解釋。幫助瞭解這個如此新的主題,但它仍然無法工作。它重定向到一個沒有找到的頁面,這個長url-> http://search.maxonline.com.sg/main?InterceptSource=0&ClientLocation=sg&ParticipantID=zflj3p94j2yfy45e433eet7iejjmxgif&FailureMode=1&SearchQuery=&FailedURI=http%3A%2F%2Fsingapore.o9village.com %2F&AddInType = 4&版本= 2.1.8-1.90base&的Referer =&實施= 0。我猜它是一個未找到的頁面。但是,當我去 - > http://mydomain.com/o9_advertiser/ad_list/ad_list.php?country=%1。該頁面能夠正常加載,沒有任何問題。 – Lawrence

+0

我對上述評論感到抱歉。應該是**當我去http://mydomain.com/o9_advertiser/ad_list/ad_list.php?country=iran。它顯示頁面正確 – Lawrence

+0

您是否在您的服務器上設置了正確的DNS設置? – undone