如何删除索引.php通过 htaccess [高级]



我正在使用代码点火器。总有一种方法可以从 url 中删除索引.php。代码如下 htaccess 并且工作正常。

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

但问题是:我们仍然可以访问带有索引的网站.php例如以下 URL。

两者都是可访问的:

 http://www.yoursite.com/index.php/cat/subcat 
 http://www.yoursite.com/cat/subcat 
强制

删除索引.php可以通过 htAccess 吗?我实际上不希望谷歌拥有同一页面的两个重复副本。欢迎任何建议

.htaccess文件的顶部尝试以下操作:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php
RewriteRule ^index.php/?(.*) /$1 [R=302,L]

这将检查初始请求(而不仅仅是重写的请求(上是否存在/index.php,然后重定向到后面的 URL 路径(如果存在(。通过专门检查THE_REQUEST可以避免重定向循环。

尾部斜杠是可选的,因此它还将捕获/index.php请求。

当您

确定工作正常时,将302(临时(更改为301(永久(。

最新更新