没有文件名的网址

sha*_*ron 5 url

我看过像website.com/admin/这样的网址,它们在最后一个斜线后实际上并没有显示"index.html"或文件名.这是如何实现的?

谢谢!

Fra*_*nov 9

URL指定资源的位置,但该资源不必实际映射到服务器上的物理文件.由服务器决定如何处理URL以及如何生成要返回的资源.

大多数Web服务器都是通过提供文件中的所有资源来启动的.因此,大多数网站将其页面作为文件提供,并且他们识别的URL具有相应的形式.如果网站仍在使用基于文件的Web服务器,则可以将其配置为默认情况下为特定文档提供服务(如果未指定文件).

但是,最近,在将URL和实际文件分离的过程中出现了很大的变化.通常这是通过默认文档(如果URL未指定网络服务器配置为服务特定文件),URL路由(网络服务器根据将传入URL映射到实际资源的内部规则来路由请求处理)实现的. ,URL重写(在处理之前将URL请求重写到不同的URL),或两者的组合.

特别是,MVC框架在很大程度上依赖于URL路由,因为基于MVC框架的Web应用程序公开的URL不指定服务器上文件的位置,实际上都是Web应用程序的代码执行路径.例如,http://example.org/user/details/12345不会在/ user/details文件夹中指定12345文件,但会指定应使用参数12345调用类User上的方法Details以生成响应.


Joh*_*nFx 1

大多数网络服务器上都有一个配置选项,允许管理员设置一个或多个文件,以便在未找到文件名时进行查找。通常,它们还允许您按目录级别在目录上进行设置。

另一种可能性(取决于站点)是它使用技术来动态转换(也称为“重写”)URL,以便用户输入的 URL 对用户更有意义。此技术对于使用 MVC 模板构建的站点很常见。