2014-09-11 40 views
1

我想通過鍵入http: // mysite . com或只是mysite來重定向輸入網站的用戶。 com(沒有www)到www . mysite . com。 Blow URL重寫條件和規則我目前正在使用.htaccessURL rewrite接受任何前綴(子域)

RewriteCond %{HTTP_HOST} . 
    RewriteCond %{HTTP_HOST} !^www\. [NC] 
    RewriteRule^http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

這是正常工作,但我最近注意到另一個問題。該網站正在接受請求輸入的子域名,例如abc.mysite.comxyz.mysite.com或whatyoutype.mysite.com,並以www(www.antyingyoutype.mysite.com)爲前綴。這不是我們想要的。我不確定自從我沒有提交重寫規則的時候這個問題是否存在,或者還有其他問題導致了這個問題。請幫我修復。

我的網站在Drupal7 +燈+ Ubuntu的環境中運行

+1

,前綴爲它的轉向'abc.mysite.com'成'www.abc.mysite.com'?或者它變成了'www.mysite.com'? – wavemode 2014-09-11 05:10:23

+0

成爲www.anythingyoutype.mysite.com – 2014-09-11 05:20:01

回答

0

讓你的規則是這樣到www加起來也只有主網站:

RewriteCond %{HTTP_HOST} ^mysite\.com$ [NC] 
RewriteRule^http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] 

可選,如果你想阻止其他所有通配符域然後使用這個規則:

RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTP_HOST} ^[^.]+\.mysite\.com$ [NC] 
RewriteRule^- [F] 
+0

如何在IIS配置文件中使用這些規則的任何幫助.net env – Arjuna 2016-03-03 11:12:11

+0

對不起,我不知道IIS – anubhava 2016-03-03 11:13:16