2010-11-17 165 views
0

我的通配符子域名在我的服务器上完美工作,但希望优化.htaccess代码以使其更具可移植性。我不知道该怎么做。优化htaccess通配符子域代码

我想用正则表达式替换特定域名和扩展(下面代码中的DOMAIN和.com),以便在其他域使用通配符代码时很容易移植。 所以它应该是一个替代domain.com和domain2.net。这里是我使用的代码:

# Wildcard Subdomain 
RewriteCond %{HTTP_HOST} ^(www.)?([^.]+)\.DOMAIN\.com [NC] 
RewriteCond %2 !^www$ [NC] 
RewriteRule ^(.*)$ http://DOMAIN.com/$1?a=%2 [R=301,QSA,L] 

它与您看到的通常版本有点不同,因为我已经为www添加了例外。 +子域条件。许多情况下,人们进入www.sub.domain.com,并在服务器上发生故障。所以我检查www。并在重定向之前将其删除。

感谢您的帮助!

回答

0

您当前拥有它的方式:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www)\.(.*)\.(.*)\.(.*) [NC] 
RewriteCond %2 !^www$ [NC] 
RewriteRule ^(.*)$ http://%3.%4/$1?a=%2 [R=301,QSA,L] 

如果你只是想要去除从域万维网:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www)\.(.*)\.(.*)\.(.*) [NC] 
RewriteRule ^(.*)$ http://%2.%3.%4/$1 [R=301,QSA,L]