我有一些域指向同一個網絡服務器,並希望將其設置爲將所有傳入流量重寫爲一個一致的域。我以前做過這件事,確保請求有www。在其中,但是當我將下面的腳本添加到網站時,它開始凍結。RewriteCond在HTTP_HOST凍結網站?
RewriteCond %{HTTP_HOST} !^www\.domain\.com(.*) [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,NC,L]
我想補充後要對我的.htaccess(以上所有我的其他重寫),將文件保存到服務器上,該網站通常會在大約10秒鐘內未操作,並請求將其後纔開始凝固起來。我知道這很奇怪,這發生在文件保存到服務器後。如果我刪除上面的行,它會立即開始工作。
我有點失落,至於什麼可能導致這個奇怪的問題。
UPDATE: 我檢查了我重寫日誌之前比較和進行了更改後。我看到很多這些錯誤
127.0.0.1 - - [21/Jul/2010:12:57:35 --0400] [280082-web1.dummy.com/sid#2b4899b49d30][rid#2b489a396148/initial] (2) [perdir /var/www/html/] rewrite '*' -> 'http://www.dummy.com/*'
127.0.0.1 - - [21/Jul/2010:12:57:35 --0400] [280082-web1.dummy.com/sid#2b4899b49d30][rid#2b489a396148/initial] (2) [perdir /var/www/html/] explicitly forcing redirect with http://www.dummy.com/*
的我還檢查我的訪問日誌相同時間戳和看到這一點:
127.0.0.1 - - [21/Jul/2010:12:57:35 -0400] "OPTIONS * HTTP/1.0" 301 333 "-" "Apache/2.2.3 (Red Hat) (internal dummy connection)"
我有KeepAlive保持打開。這是否會導致問題?
還試圖加入這個COND我重寫,它仍然錯誤: 的RewriteCond%{REMOTE_ADDR} 127.0.0.1
奇怪。你是否啓用了RewriteLog?也許一些舊的mod_vhost_limit設置? (主)虛擬主機的配置也很重要。 – Wrikken 2010-07-21 14:10:00
任何想法爲什麼我收到錯誤500時,我將日誌記錄添加到我的.htaccess(我從來沒有嘗試過日誌記錄)。代碼:RewriteEngine on RewriteLog「/var/www/rewrite.log」 RewriteLogLevel 4(rules) – 2010-07-21 15:23:02
logging指令只適用於服務器或虛擬服務器上下文,所以你不能在'.htaccess'中定義它們文件。另外,當你的'error_log'開始凍結時,是否有任何條目?你的網站是否有大量的流量或任何東西? – 2010-07-21 16:44:45