html网站网址打开时没有.html扩展名。为什么?

时间:2012-07-30 06:03:08

标签: html file-extension

我有一个html5网站,我的查询是当我打开任何没有.html扩展名的网址时会打开原因吗?

我想要建议,所以我的所有网址都只能以.html扩展名打开。

例如

现在网址http://www.abc.com/about-us打开网页,我希望它应该重定向到http://www.abc.com/about-us.html,或者应该显示404错误。

4 个答案:

答案 0 :(得分:1)

这完全基于服务器配置。像abc.com这样的网站使用URL rewriting让您能够输入“漂亮”的网址(例如abc.com/about-us)并转到相关内容。

大多数托管环境中的默认配置应该只允许按其全名浏览页面(即yoursite.com/about-us.html)。

答案 1 :(得分:0)

我只能猜测,但最有可能的是,您启用了Apache的MultiView功能(或其他Web服务器上的类似机制)。此功能选择与请求URL(无扩展名)匹配的许多文件之一,并具有映射到客户端通过Accept标头请求的MIME类型的扩展名。因此,例如,如果您的docroot中同时包含foo.txtfoo.html,并且客户端请求/foo,那么Accept标题text/plain将会产生foo.txt,而text/html会给您foo.html

预期用途是Apache可以根据其功能向不同的浏览器提供不同的文件:例如,您可以拥有同一图像的PNG和GIF版本,Apache可以提供浏览器可以处理的任何内容。

在正常情况下,您要禁用MultiViews,因为(特别是当您进行服务器端脚本编写时,例如PHP),它可能会导致不希望的(有时令人困惑的)结果。

这种机制,BTW,与HTML(4,5,XHTML或其他)完全无关 - 你会看到图像文件,视频,样式表,纯文本,任何东西的相同行为。

答案 2 :(得分:0)

一个可能的原因是网址重写。在 .htaccess 文件中,您可以编写不同的规则和条件,通过这些规则和条件,浏览器不会显示页面扩展名。

例如:http://roshanbh.com.np/2008/03/url-rewriting-examples-htaccess.html

答案 3 :(得分:0)

这是一种名为URL rewriting的技术,它可以将难看的URL变成漂亮的URL - 与选择一个好的域名相比,它的痛苦和费用要少得多。 它使您能够使用友好,可读的关键字填写您的网址,而不会影响网页的基础结构。

许多网络公司花费数小时的时间为客户争取最佳域名。他们试图找到一个相关且合适的域名,听起来很专业但很有特色,很容易拼写,记忆和通过手机阅读,在名片上看起来很好,并且可以作为dot-com使用。

否则他们花费数千美元购买他们真正想要的那个,这恰好是1998年由具有前瞻思维和难以找到的擅自占地者注册的。

他们经历了域名的所有麻烦,但忽略了域名后面的网址的其余部分。它也应该是相关的,适当的,专业的,令人难忘的,易于拼写和阅读。出于同样的原因:吸引客户并提高搜索排名。