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

如何通过htaccess配置Rewrite规则将动态slug参数路径重写为简洁URL

调整后的完整.htaccess配置

RewriteEngine On

# 排除真实存在的文件、目录,避免拦截静态资源、系统默认路径
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# 同时匹配带/不带尾部斜杠的分类路径,将slug参数传给category.php
RewriteRule ^([^/]+)/?$ /category.php?slug=$1 [L]

规则调整说明

  • 新增2条RewriteCond前置判断:只有当访问路径不属于真实存在的静态文件(图片、CSS、JS等)、不属于真实存在的站点目录时,才会触发后续重写逻辑,避免正常资源访问被拦截
  • 重写规则的匹配逻辑优化:
    • 将[^/]*调整为[^/]+,避免匹配站点根目录的空路径
    • 末尾新增/?标识,兼容尾部带斜杠和不带斜杠的两种访问格式,捕获的slug参数会自动剔除尾部斜杠,两种路径访问返回的内容完全一致

可选补充配置(统一URL格式)

如果需要避免两种路径被搜索引擎判定为重复内容,可以在RewriteEngine On后新增以下规则,强制将无尾部斜杠的路径301重定向到带斜杠的格式:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)$ /$1/ [L,R=301]

生效排查要点

  • 确认Apache服务器已开启mod_rewrite扩展
  • 确认站点的虚拟主机配置中AllowOverride参数已设置为All,否则.htaccess文件不会被加载
  • 测试前清理浏览器缓存,重定向规则会被浏览器长期缓存,建议用无痕模式测试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 04:36:03