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

如何从URL中移除index.html、info.html后缀?如何设置首页链接?

关于移除URL后缀和首页链接设置的解决方案

嘿,这俩问题本质上都是围绕服务器默认文档配置和URL重写来实现的,我给你拆解清楚:

一、能不能移除index.html、info.html这类后缀?

当然可以!主要靠两种配置配合:

1. 配置服务器默认文档

不管你用Apache、Nginx还是其他服务器,都可以设置「默认文档」——当用户访问一个目录(比如根目录/或者/about/)时,服务器会自动加载你指定的默认文件,不用在URL里写后缀。

  • 比如Apache,你可以在httpd.conf或者网站根目录的.htaccess文件里加:
    DirectoryIndex index.html info.html
    
    意思是,访问目录时优先找index.html,找不到再找info.html。
  • Nginx的话,在server块里配置:
    index index.html info.html;
    

2. URL重写(让带后缀的URL也能跳转到不带的)

如果已经有用户在使用带后缀的URL,或者你想让所有请求都不带后缀,就需要配置重写规则,把带.html的请求映射到对应的文件,同时把旧的带后缀URL 301重定向到新的(利于SEO)。

  • Apache的.htaccess规则示例:
    RewriteEngine On
    
    # 让不带后缀的请求能匹配到对应的.html文件
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}\.html -f
    RewriteRule ^(.*)$ $1.html [L]
    
    # 把已有的带.html的URL 301重定向到不带后缀的版本
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.html
    RewriteRule ^(.*)\.html$ /$1 [R=301,L]
    
  • Nginx的server块规则示例:
    # 优先尝试不带后缀的路径,找不到再找.html文件
    location / {
        try_files $uri $uri.html $uri/ =404;
    }
    
    # 重定向带.html的URL到不带后缀的版本
    rewrite ^/(.*)\.html$ /$1 permanent;
    

二、首页链接该填什么才能像Facebook那样?

说白了超简单!直接把href的值设为/就行,也就是:

<a href="/">Start page</a>

当用户点击这个链接时,会请求网站的根目录,而你已经配置了服务器默认文档(比如index.html),服务器会自动加载根目录下的默认首页文件,URL里自然就不会出现index.html这类后缀,完全和Facebook的首页URL效果一致。

如果是子页面的链接,比如原来的/about/info.html,想去掉后缀的话,链接就写/about/info,配合上面的重写规则,服务器会自动找到对应的info.html文件。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:50:46