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

WordPress下.htaccess不存在目录重写规则配置异常求助

解决WordPress下.htaccess重定向不存在目录的问题

我之前也踩过这个坑!问题出在你没加真实目录存在性判断,导致WordPress的重写规则或者你的自定义规则把真实存在的目录也给转去redir.php了。下面是修正后的方案,直接套用就行:

正确的重写规则(放在WordPress规则之前)

打开你的根目录.htaccess文件,找到# BEGIN WordPress这一行,把下面的代码放在它之前(避免被WordPress自动覆盖):

# 重定向根目录下不存在的子目录到redir.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/([^/]+)/?$
RewriteRule ^ redir.php?dir=%1 [L,QSA]

规则详解

  • RewriteCond %{REQUEST_FILENAME} !-d:核心判断!意思是“当前请求的路径不是一个真实存在的目录”,这样就跳过了所有已存在的目录请求
  • RewriteCond %{REQUEST_URI} ^/([^/]+)/?$:精准匹配根目录下的一级目录请求(比如/blog或/blog/这种格式),把目录名称捕获到%1变量里
  • RewriteRule ^ redir.php?dir=%1 [L,QSA]:把请求重定向到redir.php,并把捕获的目录名称作为dir参数传递;[L]表示执行完这条规则就停止后续匹配,[QSA]保留原请求的查询字符串(如果有的话)

注意事项

  1. 如果你之前已经加过RewriteEngine On,可以删掉重复的那一行,.htaccess里只需要一个RewriteEngine On
  2. 测试的时候记得清一下浏览器缓存,或者用无痕模式访问,避免旧规则的缓存影响结果
  3. 如果你的站点部署在子目录里,需要调整RewriteCond %{REQUEST_URI}里的路径匹配(比如子目录是/wp,就改成^/wp/([^/]+)/?$)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:52:42