我想重写我的网址,以便我可以访问到的文件夹客户作为子域。客户将放在地址栏下面:如何将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