0

在我的 Apache error.log 中,我收到了数千个这样的错误:

2013-01-02 20:46:44.582 [INFO] [50.18.21.225:48281-1#APVH_example.com] [REWRITE]
     detect external loop redirection with target URL: /index.html, skip.
2013-01-02 20:46:44.582 [INFO] [50.18.21.225:48276-1#APVH_example.com] [REWRITE]
     detect external loop redirection with target URL: /index.html, skip.

我有这样一个 .htaccess 文件:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

    RewriteCond %{HTTP_USER_AGENT} "Somebot|Otherbot" [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} "Anotherbot" [NC]
    RewriteCond %{REQUEST_URI} !(\/mypages|\/otherpages) [NC]
    RewriteRule ^(.*)$ index.html? [R=301,L]

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

如果我注释掉这个块,我不会收到任何错误。但我的网站需要它。

    RewriteCond %{HTTP_USER_AGENT} "Somebot|Otherbot" [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} "Anotherbot" [NC]
    RewriteCond %{REQUEST_URI} !(\/mypages|\/otherpages) [NC]
    RewriteRule ^(.*)$ index.html? [R=301,L]
4

1 回答 1

1

尝试像这样修改该块:

RewriteCond %{HTTP_USER_AGENT} "Somebot|Otherbot" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "Anotherbot" [NC]
RewriteCond %{REQUEST_URI} !(/mypages|/otherpages) [NC]
RewriteCond %{REQUEST_URI} !index\.html
RewriteRule ^(.*)$ index.html? [R=301,L] 
于 2013-01-03T19:55:37.483 回答