0

我有通配符子域在我的服务器上完美运行,但想优化 .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。并在重定向之前将其删除。

谢谢你的帮助!

4

1 回答 1

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]
于 2010-11-20T19:40:45.533 回答