我有一大堆域需要指向一臺服務器,並且它們都有一個類似的域,每個域只有城市發生變化。htaccess對類似域名的重寫規則
每個城市在服務器上的一個單獨的文件夾,因此,例如/紐約將成爲「shoppinginnewyork.com」和/加州「shoppingincalifornia.com」
有沒有辦法,我可以設置一個正則表達式的方式規則爲任何未來的域名,以便它會自動拿起城市,並重定向或重寫到新的域名?他們將全部以 「shoppingin」 ..
感謝
我有一大堆域需要指向一臺服務器,並且它們都有一個類似的域,每個域只有城市發生變化。htaccess對類似域名的重寫規則
每個城市在服務器上的一個單獨的文件夾,因此,例如/紐約將成爲「shoppinginnewyork.com」和/加州「shoppingincalifornia.com」
有沒有辦法,我可以設置一個正則表達式的方式規則爲任何未來的域名,以便它會自動拿起城市,並重定向或重寫到新的域名?他們將全部以 「shoppingin」 ..
感謝
您可以使用您的虛擬主機的ServerAlias指令通配符:
看看下面的apache virtualHost
配置:
<VirtualHost *:80>
ServerAlias shoppingin*.com
DocumentRoot "/sites"
# Then rewrite subdomains into different directories
RewriteEngine On
RewriteCond %{HTTP_HOST} ^shoppingin(.*).com$
# Use the %1 captured from the HTTP_HOST
# For example shoppinginnewyork.com writes to /sites/newyork
RewriteRule ^(.*)$ "/sites/%1/$1" [L]
</VirtualHost>
在本地機器上對兩個域進行測試。
是指所有域指向相同的目錄或不同的目錄? –
每個站點都在不同的目錄中,即/ sites/newyork和/ sites/california – Tim
您可以嘗試在rewrite中使用regexp,例如在重寫cond中使用這個'shoppingin(。*)\。com'並使用此輸入' $ 1'如果我沒有錯誤的下一個cond檢查存在dirrectory,你可以在重寫規則中使用這個'$ 1'來更新請求。 – Naumov