麻烦就在这里:当我点击此链接时 -http://znak.net.ua它重写为http://znak.net.ua/ru/ru/ru/ru/ru/我收到错误 310 (net::ERR_TOO_MANY_REDIRECTS)
当我开始使用 fast-cgi 而不是 mod_php 时发生了这种情况 这是我的 .htaccess:
ErrorDocument 404“未找到请求的文件 favicon.ico。
DirectoryIndex index.php
<IfModule mod_php4.c>
</IfModule>
<IfModule sapi_apache2.c>
</IfModule>
<IfModule mod_php5.c>
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A1209600
ExpiresByType text/html A1
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)$ http://znak.net.ua/ru/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ ru/index.php?q=$1 [L,QSA]
</IfModule>
答案1
以下行导致了该行为:
RewriteRule ^(.*)$ http://znak.net.ua/ru/$1 [L,R=301]
这意味着,对于包含任何字符(或根本没有字符)的任何请求,将其重定向到http://znak.net.ua/ru/
,后跟请求的 URL。如果此站点本身是 ,http://znak.net.ua/
则意味着 的请求/ru/
将转换为ru/
(因为我们处于 的有效<Directory>
上下文中.htaccess
),这反过来会将我们发送到。从那里,您可以轻松想象当 的请求进入http://znak.net.ua/ru/ru/
时,下一轮会发生什么。/ru/ru/
很难想象你想用这行代码做什么,所以我承认我真的不知道如何“修复”它。如果你能分享你的意图,我很乐意提供一个解决方案。