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

.htaccess重写后能否隐藏URL子目录?实现login路径映射需求

解决.htaccess隐藏core/auth/路径的内部转发问题

没问题,我来帮你搞定这个规则调整!你之前用[R,L]导致地址栏变化,是因为R触发了外部重定向,咱们换成内部转发就可以了,同时还要确保查询参数不丢失。

这里是调整后的完整.htaccess代码:

RewriteEngine On

# 处理/login路径的内部转发,自动保留查询参数
RewriteCond %{REQUEST_URI} ^/login$ [NC]
RewriteRule ^ /core/auth/login [L,QSA]

# 原有隐藏index.php的规则,继续保留生效
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

关键规则解释:

  • RewriteCond %{REQUEST_URI} ^/login$ [NC]:精确匹配请求路径为/login的请求,[NC]表示不区分大小写(比如/Login也能匹配)。
  • RewriteRule ^ /core/auth/login [L,QSA]:把匹配到的请求内部转发到/core/auth/login,不会改变浏览器地址栏。其中:
    • [L]表示这是最后一条匹配规则,处理完就停止后续规则;
    • [QSA](Query String Append)会自动把原请求的查询参数(比如?param=abc&paramb=123)追加到目标路径后,确保参数不丢失。
  • 原有隐藏index.php的规则放在后面,处理除了/login之外的其他非文件、非目录请求,保证原有功能不受影响。

这样配置后,用户访问https://example.com/login?param=abc&paramb=123时,浏览器地址栏保持不变,服务器内部会转发到https://example.com/core/auth/login?param=abc&paramb=123处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 15:08:17