Php Htaccess重定向被忽略

Php Htaccess重定向被忽略,php,apache,.htaccess,Php,Apache,.htaccess,我有一个奇怪的问题,谷歌正在索引我的主页的一个非样式版本。导致此问题的URI是我的“根主机”/index.php/“子页面”。例如,www.website.com/index.php/photos会导致这个问题 为了纠正这一点,我创建了以下Htaccess指令,将此URL的任何排列重定向到主页: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteR

我有一个奇怪的问题,谷歌正在索引我的主页的一个非样式版本。导致此问题的URI是我的“根主机”/index.php/“子页面”。例如,www.website.com/index.php/photos会导致这个问题

为了纠正这一点,我创建了以下Htaccess指令,将此URL的任何排列重定向到主页:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]

Redirect 301 /index.php^(.*)$ /

重定向是有效的,但是由于某些原因,第一节导致忽略该重定向。

重定向指令不支持正则表达式。您正在寻找的是重定向匹配

RedirectMatch ^/index\.php/(.*)$ /

谢谢你澄清这一点。但这不是问题所在,重定向仍然被忽略。我自己测试了这个规则,它成功了。由于某种原因,尽管前一个块使其无效。