快速总结:
- 主要影响
服务器如何解析请求
和相对路径的解析方式
。- 加
/
代表访问的是目录
;不加/
代表访问的是文件
加 / 和不加 / 影响服务器如何解析请求
- 以
/
结尾的URL,表示目录
: 例如https://example.com/blog/
表示的是请求blog目录下的默认文件,一般是/blog/index.html(默认文件) - 不以
/
结尾的URL,表示文件
; 例如https://example.com/blog
表示访问的是/目录
下的blog文件
,即/blog
这个文件。 那假如没有blog文件
,但有blog目录
的话,服务器可能会301重定向
到https://example.com/blog/index.html
中。
加 / 和不加 / 影响相对路径的解析方式
浏览器会根据是否有
/
来判断访问的是目录还是文件,然后据此去解析resource的相对路径。
假设有一个resource关联的文件是相对路径的,例如<img src="image.jpg">
。
- 访问以
/
结尾的URL,https://example.com/blog/
: 该resource在服务器中的解析后的路径为/blog/image.jpg
。 因为blog/
表示的是一个目录
,所以该resource的相对路径代表的是该blog目录下
的image.jpg文件。 - 访问以不以
/
结尾的URL,https://example.com/blog
: 该resource在服务器中的解析后的路径为/image.jpg
。 因为blog
表示的是一个文件
,所以该resource的相对路径代表的是与该blog文件同级的目录
中的image.jpg文件。
SEO最佳实践
- 搜索引擎会将
/
结尾的URL识别为目录
- 建议保持URL形式的一致性(要么都带/,要么都不带)
- 示例对比:
- 规范形式:example.com/category/
- 不规范形式:example.com/category
- 在服务器的目录下,尽量保证不要出现同名的目录和文件
API规范
对于网站提供的API接口,需要参照API文档的规范,否则可能出现拒绝访问或非预期结果的可能。
总结对比
URL 形式 | 解析对象 | 具体结果 |
---|---|---|
https://example.com/blog/ | 目录 | 通常返回 blog/ 下的默认文件(如 index.html ),相对路径解析基于 blog/ 。 |
https://example.com/blog | 资源(或重定向到目录) | 可能被解析为文件,或服务器重定向到 blog/ 目录下的默认文件,相对路径解析可能发生非预期结果 |