这只是出于好奇的问题。
我看过很多网站没有在地址栏中显示页面类型/扩展名。例如,stackoverflow的提问题页面的地址为stackoverflow.com/questions/ask
,而不是类似于stackoverflow.com/questions/ask.php
。
他们是否使用某些东西来隐藏该页面扩展名?或者为什么我看不到页面扩展名?
我认为这对于页面安全性是一个很好的想法。
答案 0 :(得分:0)
使用.htaccess文件,你可以这样做
答案 1 :(得分:0)
.htaccess(超文本访问)文件是由多个Web服务器支持的目录级配置文件,允许分散管理Web服务器配置。它们被放置在Web树中,并且能够覆盖服务器的全局配置的子集,以及它们所在的目录以及所有子目录。
重写网址
服务器经常使用.htaccess将长而过于全面的URL重写为更短,更难忘的URL。
授权,身份验证 .htaccess文件通常用于指定目录的安全限制,因此文件名为“access”。 .htaccess文件通常附带.htpasswd文件,该文件存储有效的用户名及其密码
鉴于上面的三个链接,可以更好地解释你。
答案 2 :(得分:0)
您看到的所有.htaccess
个答案都适用于传统的 PHP应用程序,因为它们都作为普通文件上传到网络服务器的文档根目录。这意味着每个PHP文件都可以浏览"直接,假设您未在网络服务器配置中阻止此操作。
StackOverflow(这是一个.NET应用程序)和其他现代应用程序使用URL映射范例 - 这不仅有助于"清理"网址,也是因为cool URIs don't change。它与安全性没有任何关系。
因此,每个URL很可能映射到一个函数,此函数返回一个发送到浏览器的响应。
PHP框架提供的相同 - Laravel routing,symfony routing和zend framework routing都是此映射范例的示例。
答案 3 :(得分:-1)
这是通过使用.htaccess文件来配置网站的详细信息
来完成的示例:
RewriteEngine on
Rewrite Base /
RewriteRule ([a-z]+)/?$ index.php?menu=$1 [NC,L]
此示例将一个类似于www.mydomain.com/home
的网址重写为www.mydomain.com?index.php&menu=home
了解更多详情,请搜索stackoverflow / google