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

如何使用.htaccess移除URL中的文件夹路径?

URL重写:将 /html/mypage 映射为 /mypage(地址栏仅显示后者)

Apache 环境配置

先确保服务器已启用 mod_rewrite 模块,然后在网站根目录的 .htaccess 文件(或 Apache 配置文件的对应 <Directory> 块)中添加规则:

RewriteEngine On

# 仅当请求的不是实际存在的文件/目录时执行重写,避免干扰静态资源
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# 单个页面重写:匹配 /mypage 并转发到 /html/mypage
RewriteRule ^mypage$ /html/mypage [L]

# 若要批量处理 html 目录下所有页面,替换上面的 RewriteRule 为:
# RewriteRule ^(.*)$ /html/$1 [L]

[L] 标记表示这是最后一条规则,防止后续规则干扰。配置完成后,访问 https://example.com/mypage 时,浏览器地址栏保持不变,实际加载的是原 /html/mypage 页面。

Nginx 环境配置

在网站对应的 server 配置块中添加重写规则:

# 单个页面重写
rewrite ^/mypage$ /html/mypage last;

# 批量处理 html 目录所有页面的话,替换为:
# rewrite ^/(.*)$ /html/$1 last;

last 标记表示停止当前规则集,开始处理新的 URI 规则。同样,访问时地址栏显示去除 /html 后的路径,实际请求的是原页面。

如果网站有独立的静态资源目录(如 /static/),批量重写时需要优先匹配这些目录避免资源加载失败,比如在 Nginx 中添加:

location /static/ {
    # 静态资源直接返回,不执行重写
}

rewrite ^/(.*)$ /html/$1 last;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 08:04:58