2016-03-20 82 views
2

我要地圖
sub1.mydomain.comsub1.mydomain.com/index.php?sub1
sub1.mydomain.com/?aa=bbsub1.mydomain.com/index.php?sub1&aa=bb
sub1.mydomain.com/somethingsub1.mydomain.com/index.php?sub1/something
sub1.mydomain.com/something?aa=bbsub1.mydomain.com/index.php?sub1/somehting&aa=bb
這些與sub2.mydomain.com太匹配。子域到MVC URL映射 - 重寫針對多個規則

沒有任何重定向,就像SimpleMVCFramework一樣,它爲主域。 我之所以要使用sub1.mydomain.com作爲mydomain.com/sub1(它被重新編譯爲mydomain.com/index.php?sub1)的用戶調用的別名。我將兩個子目錄的根目錄設置爲與主域相同。

這裏是的.htaccess代碼(位於根目錄),但它與錯誤500

# Map subdomains to controller 
RewriteCond %{HTTP_HOST} !^www # if the sub is not www 
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.com 
RewriteCond %{QUERY_STRING} !(sub1|sub2) # preventing loops 
RewriteRule ^/?$ /index.php?%1 [NC,QSA,L] 
# this meant to be match if url path is empty eg. sub1.mydomain.com/?aa=bb 
RewriteRule ^(.+)$ /index.php?%1/$1 [NC,QSA,L] 
# anytime else. 

如果我的simpy使用第二個作用,(.*)圖案化,結尾的斜線相匹配(SUB1下降?.mydomain.com來/ index.php文件SUB1 /),與(.+)模式是這樣匹配:sub1.mydomain.com/index.php?sub1/index.php

由於提前,
b

回答

0

解決。

RewriteConds只適用於下面的第一個RewriteRule,我需要複製粘貼條件。