查看一篇随机的维基百科文章,如http://en.wikipedia.org/wiki/Impostor_syndrome,我看到地址末尾没有.html
。事实上,如果我做尝试将.html放在它之后,维基百科告诉我“维基百科没有一篇具有这个确切名称的文章。”为什么它不需要任何文件扩展名?
答案 0 :(得分:4)
更多超级用户问题?
没有法律规定html文件必须以.html或.htm结尾,并且由于wiki从数据库生成页面,因此无论如何都没有文件页面(除了在缓存中)。
没有.htm或.php更难以理解 - 为什么你在关注他们要求提供网址时使用的技术?这就像是必须将收件人的操作系统放在他们的电子邮件地址的末尾。
答案 1 :(得分:2)
维基百科的服务器将网址映射到您想要的网页。 .html
只是一个命名约定,今天主要是历史从静态页面的时期开始,当时网址实际上是服务器上文件的名称。实际上,可能根本没有文件,服务器查询数据库,Web框架即时发送html。
答案 2 :(得分:2)
如果你打电话给网站,它可能看起来像是
www.example.com/siteA/index.html
此请求只是告诉网络服务器您希望在siteA中看到名为index.html的资源。 在此服务器上运行的网站必须确定您要查看的内容以及数据的加载方式。 index.html可以是siteA目录中的文件 要么 它可以是数据库中siteA表中键“index.html”的行。
所以部分siteA / index.html只是一个资源标识符。该资源标识符的语法完全免费,并根据网站确定。
url重写也很常见,使url更容易阅读和记忆。
例如,可能有一个重写规则来完成以下任务:如果用户输入类似的内容 www.example.com/download/demo.zip
重写它,以便您的网站看起来像: www.example.com/download.php?file=demo.zip
答案 3 :(得分:1)
Wikipedia最有可能使用Apache模块mod_rewrite,以便不必将路径直接链接到文件系统路径。
请参阅:http://en.wikipedia.org/wiki/Rewrite_engine#Web_frameworks
然而,编程语言也可以根据一组规则控制传入的URL并根据链接的结构返回数据,例如Django Web框架员工URL dispatcher。
答案 4 :(得分:1)
这是因为维基百科使用MediaWiki的URL缩短功能。
实际上,当你搜索文件时,它确实加载了一个php文件。尝试搜索不存在的单词,例如“Pazaz”。网址为http://en.wikipedia.org/w/index.php?title=Special%3ASearch&search=pazaz
。请注意网址中的index.php
。
说实话,它不是MediaWiki功能,而是Apache。详情请见http://www.mediawiki.org/wiki/Manual:Short_URL。
答案 5 :(得分:0)
网址路由是您的答案,例如在下面的source from
下面的ASP阅读中ASP.NET MVC框架包含一个灵活的URL路由系统,使您可以在应用程序中定义URL映射规则。路由系统有两个主要目的:
答案 6 :(得分:-2)
我建议像这样的网站使用某种类似于Ruby on Rails的模型视图控制器框架,其中url'目录'构成请求/网址路径的一部分......
在基于MVC的框架中,url“目录”可以指定要使用的视图/控制器以及应该对数据采取的操作。
例如:shop.com/product/carrots
产品是视图/控制器,胡萝卜是数据。然后框架分析要采取的行动/路线。默认可能是查看胡萝卜的产品信息和价格。