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

如何在localhost用.htaccess移除URL目录名?解决路径跳转错误

解决.htaccess URL重写路径丢失问题

嘿,我看你遇到了URL重写时丢失rootdirectory路径的问题——当前规则把URL改成了http://localhost/project-1,而不是你想要的http://localhost/rootdirectory/project-1,问题出在RewriteBase的配置上,调整一下就好:

修改后的.htaccess代码如下:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /rootdirectory/
RewriteRule ^portfolio/(.*)$ $1 [L,NC,R=301]

关键调整说明:

  • 把RewriteBase /改成RewriteBase /rootdirectory/:这样重写规则会基于rootdirectory这个子目录来处理,而不是整个网站的根目录(localhost/)
  • 去掉RewriteRule目标路径开头的/:因为已经指定了RewriteBase,直接写$1就会自动拼接成/rootdirectory/project-1

另外要注意:

  • 如果你把.htaccess文件直接放在rootdirectory文件夹里,其实可以省略RewriteBase这一行,规则一样能生效,但写上它会让配置更清晰,避免环境差异导致的问题
  • 测试前记得清空浏览器缓存,因为之前的301永久重定向会被浏览器缓存,可能会影响你看到新规则的效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 14:43:16