.htaccess 规则从我的网址末尾删除 index.php

.htaccess rule to remove index.php from the end of my urls

我之前看到这个问题在这里没有答案:.htaccess rule to remove index.php at the end of urls

我遇到了与原发布者相同的问题。我的 Joomla 网站上有 url,最后显示为 index.php。我希望将所有以 index.php 结尾的 url 重定向到同一页面,但末尾没有 index.php。

示例:www.mysite.com/forum/index.php 应重定向至 www.mysite.com/forum

我试过这个代码

    RewriteCond %{THE_REQUEST} /index\.php [NC]
    RewriteRule ^(.*?)index\.php$ / [L,R=302,NC,NE]

但它会将所有 url 的末尾 index.php 重定向到我的网站主页

示例 www.mysite.com/forum/index.php 最终被重定向到 www.mysite.com

如有任何帮助,我们将不胜感激!

您可以将此规则用作您的第一条规则:

RewriteCond %{THE_REQUEST} !/admin/ [NC]
RewriteCond %{THE_REQUEST} /index\.php [NC]
RewriteRule ^(.*?)index\.php$ / [L,R=302,NC,NE]