2010-05-21 85 views
0

此時,我服務器上的每個站點都位於域「mydomain.com」或「subdomain.mydomain.com」上,我根據所使用的子域進行各種重寫訪問該網站。Mod重寫所有流量不是來自我的域名和子域名

我想現在要做的,是從我的域或子域不發送任何請求到腳本處理......聽起來很簡單,但我不能得到它的工作..

這是我:

RewriteEngine on 
RewriteCond %{ENV:Rewrite-Done} !^Yes$ 
RewriteCond %{HTTP_HOST} !^(.*)\.mydomain\.com 
RewriteRule (.*) /_testing/htaccess/off.php?$1 

它正確地讓任何交通上我的域或子域通過,但給出了重新寫一個500內部服務器錯誤。我錯過了明顯的東西嗎?

+0

什麼日誌說? – Artefacto 2010-05-21 18:36:30

+0

Log說明「由於可能的配置錯誤,請求超過了10個內部重定向的限制。如果需要,使用'LimitInternalRecursion'來增加限制。使用'LogLevel debug'來獲得回溯。 – 2010-05-24 10:56:40

回答

0

原來htaccess的規則被無限期重定向。這是因爲我的處理程序腳本本身位於/ htaccess /目錄中。

我搬到了處理程序文件到另一個位置,而這現在工作:

RewriteEngine on 
RewriteCond %{ENV:Rewrite-Done} !^Yes$ 
RewriteCond %{HTTP_HOST} !^(.+\.)?example\.com$ 
RewriteRule (.*) /_testing/get.php?http_host=%{HTTP_HOST} 
0

試試這個規則:

RewriteCond %{HTTP_HOST} !^(.+\.)?example\.com$ 
RewriteCond $1 !=/_testing/htaccess/off.php 
RewriteRule (.*) /_testing/htaccess/off.php?$1 
+0

嗨Gumbo,我得到了與我的版本相同的結果,在我的域名和子域名上工作正常,但錯誤500應該重寫。 我正在努力啓用日誌記錄,希望這會得到一些答案。 – 2010-05-24 08:10:05