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

仅根目录不存在路径重定向至redirect.php的.htaccess配置问题

修改方案

你只需要调整最后一条重定向规则的匹配范围,限制其仅作用于根目录下的请求即可,修改后的完整.htaccess内容如下:

# Disabling directory listing
Options -Indexes -MultiViews +FollowSymLinks 

# Redirecting any traffic that doesn't exist to the index.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L]
# 仅匹配根目录下不存在的文件请求
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)$ /redirect.php?path=$1 [NC,L,QSA]

核心修改说明

  • 把原规则的^(.*)$匹配模式替换为了^([^/]*)$:[^/]*代表匹配不包含斜杠/的字符串,只有根目录下的路径(比如/test.html、/abc)会命中该规则,子目录下的路径(比如/sub/test.html、/sub/abc)因为路径中包含斜杠,不会匹配这条规则,会直接返回服务器默认的404错误页。
  • 原有其他规则逻辑完全保留,不会影响php后缀隐藏、现有文件访问的功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 09:36:04