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

如何通过.htaccess实现子目录路径到URL参数的重定向

.htaccess 配置路径到URL参数重定向方法

要实现domain.com/search/[搜索词]自动跳转到domain.com/searchresult?search=[搜索词]的效果,直接在网站根目录的.htaccess文件中添加如下mod_rewrite规则即可,使用前请确认服务器已开启Apache mod_rewrite模块(绝大多数商用虚拟主机默认开启该模块)。

可直接使用的配置代码

# 开启重写引擎
RewriteEngine On

# 匹配/search/路径后的参数并跳转
RewriteRule ^search/([^/]+)/?$ searchresult?search=$1 [L,R=302]

规则说明

  • 正则匹配逻辑:^search/([^/]+)/?$
    • 固定匹配路径前缀/search/
    • 自动捕获前缀后到下一个斜杠/路径结尾的内容(即示例中的123),存入匹配变量$1
    • 自动兼容路径末尾带斜杠的场景,/search/123/和/search/123都能正常匹配
  • 跳转标记说明:
    • L:匹配到当前规则后停止执行后续重写规则,避免规则冲突
    • R=302:标记为临时重定向,测试阶段建议保留该配置;确认规则完全正常后可替换为R=301开启永久重定向,注意301重定向会被浏览器强缓存,调整规则前务必清理浏览器缓存测试。

常见场景调整

  • 如果需要做伪静态静默跳转(用户访问/search/123时地址栏保持不变,后台实际加载searchresult页面内容),直接删除规则中的R=302标记,仅保留[L]即可。
  • 如果网站部署在域名的子目录下(例如domain.com/site/),需要额外添加RewriteBase配置指定根路径,示例如下:
    RewriteEngine On
    RewriteBase /site/
    RewriteRule ^search/([^/]+)/?$ searchresult?search=$1 [L,R=302]
    
  • 如果搜索词可能包含斜杠(例如多级关键词路径),可以把正则替换为^search/(.+)/?$,即可捕获/search/key1/key2这类路径的完整内容作为search参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 16:34:13