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

如何将子目录中不存在的文件请求重定向至指定页面?

解决方案

你可以通过以下.htaccess规则实现需求,根据文件放置位置选择对应代码:

放在网站根目录的.htaccess

RewriteEngine On

# 仅对/files/目录下不存在的文件/目录执行重定向
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^files/.+$ /files/toppage [R=302,L]

放在files目录下的.htaccess(更简洁)

RewriteEngine On

# 仅对当前目录下不存在的文件/目录执行重定向
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.+$ toppage [R=302,L]

规则说明

  • RewriteCond %{REQUEST_FILENAME} !-f:判断请求路径不是已存在的文件
  • RewriteCond %{REQUEST_FILENAME} !-d:判断请求路径不是已存在的目录
  • 两条条件同时满足时触发重定向:
    • 根目录规则匹配/files/后带任意内容的路径,跳转至/files/toppage
    • files目录下的规则直接匹配当前目录非空路径,跳转至toppage
  • R=302为临时重定向,需永久重定向可改为R=301;L表示匹配后不再执行后续规则

原代码问题说明

你之前的代码核心是将根目录请求转发至subdir目录,和当前/files/目录下的不存在请求重定向需求完全不匹配,因此无法实现预期效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 18:22:09