RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R,NE]
RewriteCond %{HTTP_HOST} !^www\.domain\.com
RewriteCond %{REQUEST_URI} ^/([a-z0-9-_]+)\.php$
RewriteCond %{HTTP_HOST} ^www\.([a-z0-9-]+)\.domain\.com
RewriteRule ^(.+) http://www.domain.com/site.php?domain=%1&file=$1 [QSA]
首先,我已将所有裸子域和域重定向到它们自己的顶级域。这就是问题所在,我尝试将所有通配符子域名重写为主域的查询字符串,但它们是重定向而不是重写。
例如www.test.domain.com重定向到www.domain.com/site.php?domain=test&file=index.php而不是写它。
现在,如何修改此代码以使这些子域重写为主域的查询字符串?有可能的?也许它有一个预定的标志!或任何东西..还有其他改进建议吗?