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

如何在.htaccess中将空格(%20)替换为下划线(_)?(基于PHP)

替换URL中的空格为下划线的.htaccess规则修改方案

你只需要把现有规则里替换目标的连字符(-)改成下划线(_)即可,修改后的完整规则如下:

RewriteRule "^(\S*) +(\S* .*)$" $1_$2 [N,NE]
RewriteRule "^(\S*) (\S*)$" $1_$2 [L,R=302,NE]

规则说明:

  • 第一条规则:匹配URL里的多个连续空格,每次把第一个空格替换为下划线,[N]标记会让规则循环执行,直到所有空格都被替换完毕;[NE]标记保证URL中的特殊字符不会被二次编码。
  • 第二条规则:处理最后一组空格(或单个空格),替换为下划线后通过[R=302]返回临时重定向,[L]标记表示这是最后执行的规则,避免后续规则干扰。

注意事项:

  • 要确保服务器已经启用mod_rewrite模块,否则规则无法生效。
  • 如果需要永久重定向(更利于SEO),可以把R=302改成R=301。
  • 规则里的\S代表非空白字符,+匹配一个或多个空格,能覆盖连续空格的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:53:09