.htaccess子域作为文件参数,包含所有变量

时间:2011-10-26 15:20:34

标签: .htaccess rewrite

我想使用.htaccess(linux / apache)进行此网址重定向..

我想保持“原样”所有对www子域名的调用,如此

www.example.com/index.php
www.example.com/test.php?id=1&name=a
www.example.com/whatever.php?whateverurl=xxxx

但是我想将所有外卡网址重定向到子域作为额外变量到当前无限制的任何网址变量

例如

xxx.example.com -> example.com/?subdomain=xxx
yyy.example.com/index.php -> example.com/index.php?subdomain=yyy
whatever.example.com/test.php?var=1 -> example.com/test.php?subdomain=whatever&var=1
whatever.example.com/whatever.php?var1=1&var2=2 -> example.com/whatever.php?subdomain=whatever&var1=1&var2=2

这可能吗?

谢谢

2 个答案:

答案 0 :(得分:1)

设置Wildcard DNS Record后,您应该制作.htaccess文件:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example\.com$
RewriteRule ^(.*)\??(.*)?$ $1?host=%{HTTP_HOST}&%{QUERY_STRING} [L] [L]

此规则有效,但它将为您提供整个主机,而不仅仅是您必须在PHP中解析的子域。

答案 1 :(得分:0)

感谢您的回答

此规则似乎有效

RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com$ [NC]
RewriteRule ^/?(.*)$ $1?subdomain=%1 [QSA,L,NE]

没有问题的时间......

再次感谢您的回答

祝你好运

范哲利斯