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

PHP项目中如何将uploads目录文件请求重定向至index.php

解决uploads目录文件直接访问的重定向问题

直接修改你的.htaccess文件,在现有规则最前面添加针对uploads目录的强制转发规则,完整代码如下:

AddType application/x-httpd-php .html
RewriteEngine On

# 强制uploads目录下所有请求转发到index.php
RewriteRule ^uploads/.*$ index.php [L,QSA]

# 非存在文件的请求转发到index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L,QSA]

# 无后缀URL自动补全.php
RewriteRule ^([^\.]+)$ $1.php [NC,L]

关键改动说明:

  • 新增的RewriteRule ^uploads/.*$ index.php [L,QSA]必须放在最顶部,优先匹配所有以uploads/开头的请求——不管对应的文件是否真实存在,都会直接转发到index.php。[L]表示匹配后停止后续规则执行,QSA会保留原请求的查询参数。
  • 原规则里的RewriteCond %{REQUEST_FILENAME} !-f会跳过真实存在的文件,这就是之前uploads下的文件能直接访问的原因,现在通过前置uploads专属规则,直接绕过了这个判断。

如果需要让浏览器地址栏显示index.php的URL(即外部重定向而非内部转发),可以把规则改成:

RewriteRule ^uploads/.*$ index.php [R=301,L,QSA]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 16:12:05