2010-11-17 151 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]