我想重寫我的網址,以便我可以訪問到的文件夾客戶作爲子域。客戶將放在地址欄下面:如何將some-sub-domain.some-domain.com中的網址重寫爲some-domain.com/some-sub-domain
abc.def.com
,並通過URL重寫將去
def.com/abc
默默。請告訴我我該怎麼做?
我想重寫我的網址,以便我可以訪問到的文件夾客戶作爲子域。客戶將放在地址欄下面:如何將some-sub-domain.some-domain.com中的網址重寫爲some-domain.com/some-sub-domain
abc.def.com
,並通過URL重寫將去
def.com/abc
默默。請告訴我我該怎麼做?
。在你的重寫規則極少數的變化來解決這個很好
RewriteCond %{HTTP_HOST} ^(?:www\.)?([^\.]+)\.your_domain\.com [NC]
RewriteRule ^(.*)$ /%1/$1 [L]
你應該在重寫規則使用$。希望這對你有所幫助。
如果你已經知道的子域,您可以:
RewriteCond %{REMOTE_HOST} ^(?:www\.)?subdomain\.your_domain\.com [NC]
RewriteRule ^(.*) /subdomain/$1 [L]
如果你想支持任何可能的子域,使用:
RewriteCond %{REMOTE_HOST} ^(?:www\.)?([^\.]+)\.your_domain\.com [NC]
RewriteRule ^(.*) /%1/$1 [L]
您應該使用%{HTTP_HOST}
而不是%{REMOTE_HOST}
。這是因爲%{REMOTE_HOST}
是%{REMOTE_ADDR}
上的反向DNS查找的結果,如果啓用了HostnameLookups
。
所以您的規則應該是
RewriteCond %{HTTP_HOST} ^(?:www\.)?([^\.]+)\.your_domain\.com [NC]
RewriteRule ^(.*) /%1/$1 [L]
對不起,但不適合我。爲了您的信息,當我使用子域名時,它無處可尋。瀏覽器說找不到服務器。 – Tareq 2011-05-16 20:58:02
然後,您需要將子域添加到您的DNS。上面假設子域可以訪問,並指向運行mod_rewrite的網絡服務器。 – 2011-05-16 21:57:31
mod_rewrite在我的Web服務器中啓用。如果我使用通配符(*)子域沒有結果然後。我該怎麼辦 ? – Tareq 2011-05-17 03:50:53