我非常喜欢Cafe Rio餐厅的网站。然而,开发人员做了两件有趣的事情,我不确定他们是如何完成的。
效果1: 访问menu page。
在浏览器的地址栏中,您会看到
https://www.caferio.com/menu
为什么没有列出文件扩展名?例如menu.htm
。他们是否以某种方式隐藏了扩展名?是否有其他明显的技巧可以实现这一目标?
效果2:在同一菜单页面上,单击F12打开DevTools。
我打开DevTools,看看我是否能弄清楚他们是如何隐藏文件扩展名的。在里面,我发现了另一个谜。按顺序列出我看到:
www.caferio.com
css
img
js
menu
我认为menu
是主要文件,但在该文档内部我没有看到任何代码。我所看到的只是关于SSL证书的黄色警告。哇!他们如何隐藏他们的代码?非常感谢任何输入!
- UPDATE -
出于某种原因,我现在可以看到菜单中的代码,它是标准的HTML。但我仍然没有看到菜单末尾的文件扩展名。他们是如何做到这一点的?再次感谢!
答案 0 :(得分:1)
效果1: 使用像apache这样的http服务器时不需要扩展, 您可以在特殊文件(.htaccess)中键入“重写规则”,以指定页面上指向目标的任何链接的目标:
RewriteEngine on
RewriteRule ^.*$ index.php
在条目文件“index.php”中,您可以编写程序应该对请求执行的操作。
但在许多情况下,您不会重新创建整个系统,而是安装像wordpress这样的CMS来管理您的页面。
效果2: 它们不会隐藏您的任何代码,可以在调试器选项卡中访问任何受影响文件的代码。但它是用css-minifier和jsuglify之类的后处理变换器缩小的。