问题探寻
末尾带斜杠 /
的是目录/abc/
,不带的是文件 /abc
,是两个不同的地址。一般来说,索引页面(如文章列表)作为目录,而内容页面作为文件。
对于服务器来说,如果访问目录,则会根据规则访问改目录下的默认文件(index.html
、 index.htm
之类)。如访问/abc/
服务器会寻找 /abc/index.html
文件,而访问/abc
服务器则会寻找 /abc
文件。
对于用户来说,在大多数情况下这两个网址没有任何区别,他们访问的都是网站 abc 目录下的默认首页。一般用户也都知道最后一个斜杠是可有可无的,他们输入网址的时候一般都只会输入 http://www.abc.com/abc。
当 Web 服务器接收到某个末尾不含斜杠的 url 请求时,例如 http://www.abc.com/abc
,这时服务器会搜索网站根目录下有没有名为 abc
的文件,如果没有就把 abc 当做目录处理,然后返回 abc 目录下的默认首页。
当 Web 服务器接收到的是末尾带斜杠的请求时就会直接当做目录处理,返回 abc 目录下的默认首页。