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

如何通过.htaccess实现指定格式URL的批量301重定向?

.htaccess 批量301重定向配置方案

已知你已经开启了RewriteEngine,还有注释的HTTPS强制跳转规则,以下是实现批量重定向的具体配置:

完整配置示例

# 开启RewriteEngine(你已开启,可保留或忽略)
RewriteEngine On

# 取消注释并启用HTTPS强制跳转(如果需要)
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

# 批量重定向根目录下的单路径到products目录
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ /products/$1/ [R=301,L]

规则说明

  • HTTPS强制跳转:先确保所有请求都转到HTTPS,取消原有注释即可启用,放在路径重定向规则前更合理。
  • 路径重定向规则:
    • RewriteCond %{REQUEST_FILENAME} !-f:跳过真实存在的文件,避免误跳转正常文件路径。
    • RewriteCond %{REQUEST_FILENAME} !-d:跳过真实存在的目录,防止根目录下已有的合法目录被错误重定向。
    • RewriteRule ^([^/]+)/$ /products/$1/ [R=301,L]:匹配根目录下以/结尾的单个路径段(比如/some-word/),捕获该路径段后重定向到/products/some-word/。R=301表示永久重定向,L表示执行完这条规则后停止后续规则处理。

注意事项

  • 测试阶段建议把R=301改成R=302(临时重定向),确认跳转逻辑正确后再改回301,避免浏览器缓存错误规则导致调试困难。
  • 确保服务器已启用mod_rewrite模块,否则规则不会生效。
  • 如果根目录下有需要保留的特定路径(比如/contact/),可以在重定向规则前添加排除条件:RewriteCond %{REQUEST_URI} !^/contact/$

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 16:56:04