我有一些域指向同一个网络服务器,并希望将其设置为将所有传入流量重写为一个一致的域。我以前做过这件事,确保请求有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