href属性中/的不同作用


首部/的作用

/ 是根路径相对定位,不加/ 是当前路径相对定位,最终指向的 URL 会完全不同

1. 加 /:从网站根目录开始找

href="/xxx" 中的 / 代表网站的根目录(比如 https://www.example.com/),不管当前页面在哪个层级,都会从根目录出发拼接路径。示例:
  • 网站根目录:https://www.example.com/
  • 当前页面 URL:https://www.example.com/a/b/c.html
  • href="/about" → 最终指向:https://www.example.com/about
  • href="/static/css/style.css" → 最终指向:https://www.example.com/static/css/style.css

2. 不加 /:从当前页面所在目录开始找

href="xxx" 是相对于当前页面的 URL 路径拼接,相当于 “在当前文件夹里找目标资源”。示例(和上面同个网站、同个当前页面):
  • 当前页面 URL:https://www.example.com/a/b/c.html(当前目录是 /a/b/
  • href="about" → 最终指向:https://www.example.com/a/b/about
  • href="static/css/style.css" → 最终指向:https://www.example.com/a/b/static/css/style.css

尾部/的作用

核心区别是是否默认指向 “目录” ,会影响服务器解析和最终跳转的 URL

1. 末尾加 /:表示 “这是一个目录”

当 URL 末尾带 / 时,浏览器和服务器会默认把它当作目录路径,优先查找目录下的默认索引文件(如 index.html、index.php 等)。示例:
  • href="https://www.example.com/about/" → 服务器会去 about 目录下找默认索引文件(如 about/index.html
  • 若当前页面是 https://www.example.com/a/href="b/" → 指向 https://www.example.com/a/b/(目录)

2. 末尾不加 /:表示 “可能是文件,也可能是目录”

末尾不带 / 时,服务器会先尝试当作文件路径查找;若找不到对应文件,会自动做 “重定向”—— 在末尾加上 /,再按目录查找默认索引文件。示例:
  • href="https://www.example.com/about" → 服务器先找 about 文件,找不到就重定向到 https://www.example.com/about/
  • 若当前页面是 https://www.example.com/a/href="b" → 先找 a/b 文件,找不到就重定向到 a/b/

 


推荐阅读:

Pymusic一款Flask框架开发的音乐网站

Linux 常用命令详细大全

评 论
此页面未开启评论