优化htaccess通配符子域代码

时间:2010-11-17 18:00:57

标签: .htaccess subdomain wildcard-subdomain

我的Wildcard子域名在我的服务器上运行得很好,但是希望优化.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。并在重定向之前删除它。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

你目前的方式:

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

如果您只想从域中删除www:

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