我想写一个mod_rewrite的工作,像这样
wildcard.subdomain.domain.com
=> subdomain.domain.com/data.php?q=wildcard
wildcard.subdomain.domain.com/?repeat=1
=> subdomain.domain.com/data.php?q=wildcard&重复= 1
subdomain.domain.com
=> data.php
www.subdomain.domain.com
=> data.php
我已经在我的.htaccess迄今所做
< IfModule mod_rewrite.c>
选项+的FollowSymLinks
RewriteEngine叙述上
的RewriteCond%{HTTP_HOST} ^([^。] +)。ABC .DEF .COM .BR $ [NC]
的RewriteCond%1!^(WWW)$ [NC]
重写规则^ * $ data.php Q =%1
< / IfModule>`
解决方案
请尝试以下:
#这应该涵盖第一2箱子
的RewriteCond%{HTTP_HOST} ^([^。] +)。ABC .DEF .COM .BR $ [NC]
的RewriteCond%1!^(WWW)$ [NC]
重写规则^ $ /data.php?q=%1&%{QUERY_STRING} [L,QSA]
#这应包括最后2
的RewriteCond%{HTTP_HOST} ^([^。] +)。ABC .DEF .COM .BR $ [NC]
的RewriteCond%1 ^(WWW)$ [NC]
重写规则^ $ /data.php?%{QUERY_STRING} [L,QSA]
请注意,这不执行任何操作在请求的情况下: wildcard.subdomain.domain.com/some/path/to/file.html
这只是比赛的请求URI的是 /
。
I'm trying to write a mod_rewrite to work like this
wildcard.subdomain.domain.com
=> subdomain.domain.com/data.php?q=wildcard
wildcard.subdomain.domain.com/?repeat=1
=> subdomain.domain.com/data.php?q=wildcard&repeat=1
subdomain.domain.com
=> data.php
www.subdomain.domain.com
=> data.php
What I've done so far in my .htaccess
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^.]+).abc.def.com.br$ [NC]
RewriteCond %1 !^(www)$ [NC]
RewriteRule ^.*$ data.php?q=%1
</IfModule>`
解决方案
Try these:
# This should cover the first 2 cases
RewriteCond %{HTTP_HOST} ^([^.]+).abc.def.com.br$ [NC]
RewriteCond %1 !^(www)$ [NC]
RewriteRule ^$ /data.php?q=%1&%{QUERY_STRING} [L,QSA]
# This should cover the last 2
RewriteCond %{HTTP_HOST} ^([^.]+).abc.def.com.br$ [NC]
RewriteCond %1 ^(www)$ [NC]
RewriteRule ^$ /data.php?%{QUERY_STRING} [L,QSA]
Note that this does nothing in the cases where the request is: wildcard.subdomain.domain.com/some/path/to/file.html
These only match request URI's that are /
.