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

Apache服务器URL重写异常:#被转义为%23致应用不兼容

解决Apache RewriteRule中#被转义为%23的问题

问题根源

Apache的mod_rewrite模块默认会对重写目标中的特殊字符(包括#)进行URL编码,所以你的规则里的#被转成了%23,导致应用无法识别锚点部分。

解决方案

在RewriteRule的标志中添加NE(NoEscape)参数,禁止mod_rewrite对特殊字符进行编码,让#保留为URL的锚点片段:

RewriteRule ^/?$ "https://%{HTTP_HOST}/xx/xxx#/login" [R=301,L,NE]

关键说明

  • NE标志的作用是告诉mod_rewrite不要对输出URL中的特殊字符进行编码,确保#直接作为锚点传递给客户端浏览器,而不是被转义成%23。
  • 由于使用了R=301永久重定向,测试前请清空浏览器缓存,避免旧的重定向规则干扰测试结果。
  • 确保你的Apache服务器已经启用了mod_rewrite模块,并且该规则配置在正确的作用域内(比如.htaccess文件或对应虚拟主机的配置块中)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 14:54:49