5

我正在尝试使用以下方法从 url 获取当前文件名:

$currentFile = window.location.pathname.split("/").pop();

如果完整路径类似于:

http://www.yoursite.com/folder/index.php

它将返回 index.php、index.cfm、index.html 等。

但是当 url 是http://www.yoursite.com/folder/

我无法检索当前文件名,这可以通过 js 或 jquery 实现吗?

4

1 回答 1

5

如果您只有 URL 中的路径,那么您无法从中获取文件名 - 不使用 jQuery,不使用任何其他客户端方法。这是因为只有发送这个文件的服务器才知道这个文件是什么。具体来说,在 Web 服务器配置中,有一个指令,指示如果仅指定目录名称,则要搜索的文件名。例如,在 apache 中,这可以是

DirectoryIndex index.html index.php home.htm

这告诉服务器,对于只有目录名的请求,服务器将尝试index.html从该目录提供文件;如果它不存在,那么index.php;如果那也不存在,那么home.htm。如果那个也不存在,那么行为取决于其他配置选项。其他 Web 服务器软件具有类似的配置选项。

因此,当您向服务器发送http://www.yoursite.com/folder/之类的请求时,只有该服务器会知道实际使用的是什么文件。

于 2013-07-10T16:09:52.250 回答