You need to enable JavaScript to run this app. 如何通过htaccess设置URL重定向时排除指定扩展名的静态文件
优惠活动
大模型
产品
解决方案
定价
更多

如何通过htaccess设置URL重定向时排除指定扩展名的静态文件

问题1:重定向规则排除指定后缀静态文件

你可以在现有RewriteRule前增加一条过滤规则,跳过css、js、jpg、png、pdf后缀的请求,修改后的完整.htaccess代码如下:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 新增规则:排除指定后缀的静态文件
RewriteCond %{REQUEST_URI} !\.(css|js|jpg|png|pdf)$ [NC]
RewriteRule ^(.*)$ /index.php?path=$1 [NC,L,QSA]

[NC]标识表示匹配时不区分大小写,即使请求后缀是大写的CSS、PNG也能正常命中排除规则。


问题2:多级路径下静态资源加载失败

这个问题和重定向规则无关,是相对路径引用静态资源的特性导致:
你当前用的是相对路径css/bootstrap.min.css引入样式表,浏览器会自动将相对路径拼接在当前访问的URL路径后发起请求:

  • 访问url.com/test时,浏览器请求路径是url.com/css/bootstrap.min.css,路径正确可以正常加载
  • 访问url.com/test/test2时,浏览器请求路径是url.com/test/css/bootstrap.min.css,该路径不存在自然加载失败

修复方案二选一即可:

  1. 改用绝对路径引用静态资源,路径开头加斜杠代表从站点根目录开始查找:
<link href="/css/bootstrap.min.css" rel="stylesheet">
  1. 在页面<head>标签最开头添加base标签,指定当前页面所有相对路径的基准地址为站点根目录:
<base href="/">

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 18:15:05