之前由于不正确的.htaccess逻辑http://example.com/path/url被重定向到https://example.com/index.php?/path/
因此,谷歌用https://example.com/index.php?/path/
我使用的是codeigniter,我不想在我的URL中使用index.php,所以我有重写规则,可以从URL中删除index.php,下面是重写规则。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
但是,由于有很多页面已经被谷歌抓取,URL中有index.php,我想将这些URL重定向到with index.php,但这会产生冲突,并创建无限重定向,一个删除,然后一个添加,打开和打开。
RewriteCond %{REQUEST_URI} ^/index.php$
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)index.php https://example.com%1? [R=302,L]
所以当我访问example.com/path/时;重定向过多";问题。
我在这里坚持我的逻辑。
我该怎么办?
好吧,我在这里找到了同样问题的答案,为了避免重定向循环,关键是使用
RewriteCond %{ENV:REDIRECT_STATUS} ^$
从CodeIgniter 中删除并重定向index.php