You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过htaccess移除URL中的index.php并实现指定重定向?

解决.htaccess移除index.php及不存在目录重定向问题

针对你遇到的两个问题,我调整了.htaccess规则,既能把index.php重定向到主域名,也能处理不存在的目录/文件重定向需求,同时适配你的单index文件场景和Cloudflare环境:

Options +FollowSymlinks
Options -Indexes
RewriteEngine On
RewriteBase /

# 1. 永久重定向 index.php 到主域名
RewriteRule ^index\.php$ / [R=301,L]

# 2. 重定向所有不存在的文件/目录到主域名
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ / [R=301,L]

规则说明:

  • 第一条规则:精确匹配index.php请求,通过R=301发送永久重定向到根目录,L标记确保这条规则执行后不再处理后续规则,避免冲突。
  • 第二条规则组:先通过RewriteCond检查请求的路径既不是存在的文件(!-f)也不是存在的目录(!-d),然后把所有这类请求重定向到主域名。

注意事项(针对Cloudflare):

因为Cloudflare会缓存重定向规则,修改.htaccess后建议:

  • 登录Cloudflare后台,在「缓存」→「缓存规则」里清空所有缓存;
  • 用浏览器隐私模式测试,避免本地浏览器缓存旧的跳转结果。

如果你之前保留内部转发到index.php是为了处理路由,但你提到未使用框架且只有单个index文件,现在的规则已经完全满足你的需求——存在的文件/目录正常访问,不符合条件的请求全部重定向到主域名,同时彻底移除了index.php的访问入口。

内容的提问来源于stack exchange,提问作者Hiptop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:23:21