Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web 餐厅网站如何在DevTools的地址栏和代码中隐藏文件扩展名?_Web - Fatal编程技术网

Web 餐厅网站如何在DevTools的地址栏和代码中隐藏文件扩展名?

Web 餐厅网站如何在DevTools的地址栏和代码中隐藏文件扩展名?,web,Web,我真的很喜欢里约咖啡馆的网站。然而,开发人员做了两件有趣的事情,我不确定他们是如何完成的 效果1: 访问 在浏览器的地址栏中,您将看到 https://www.caferio.com/menu 为什么没有列出文件扩展名?例如menu.htm。他们是不是把分机藏起来了?有没有其他明显的技巧可以做到这一点 效果2:在同一菜单页上,单击F12打开DevTools 我打开了DevTools,看看是否能找出它们是如何隐藏文件扩展名的。在里面我发现了另一个谜。按我看到的顺序列出: www.caferio.

我真的很喜欢里约咖啡馆的网站。然而,开发人员做了两件有趣的事情,我不确定他们是如何完成的

效果1: 访问

在浏览器的地址栏中,您将看到

https://www.caferio.com/menu
为什么没有列出文件扩展名?例如
menu.htm
。他们是不是把分机藏起来了?有没有其他明显的技巧可以做到这一点

效果2:在同一菜单页上,单击F12打开DevTools

我打开了DevTools,看看是否能找出它们是如何隐藏文件扩展名的。在里面我发现了另一个谜。按我看到的顺序列出:

www.caferio.com
  css
  img
  js
  menu
我假设
菜单
是主文档,但在该文档中我没有看到任何代码。我看到的只是关于SSL证书的黄色警告。哇!他们是如何隐藏代码的?非常感谢您的任何意见

--更新--

出于某种原因,我现在可以看到菜单中的代码,它是标准外观的HTML。但我仍然没有看到菜单末尾的文件扩展名。他们是怎么做到的?再次感谢

效果1: 使用apache之类的http服务器时不需要扩展, 您可以在特殊文件(.htaccess)中键入“重写规则”,以指定页面上指向指定目标的任何链接的目标:

RewriteEngine on
RewriteRule ^.*$ index.php
在条目文件“index.php”中,编写程序应该对请求执行的操作

但是在很多情况下,你不需要重新创建整个系统,而是安装一个像wordpress这样的CMS来管理你的页面

效果2:
它们不会对您隐藏任何代码,任何受影响文件的代码都可以在“调试器”选项卡中访问。但它是用后处理转换器缩小的,比如css缩小器和jsuglify。

好吧,非常有趣。我理解
.htaccess
,但我不完全确定这在这种情况下会有什么帮助。例如,假设我在主页上,单击
菜单
链接。很容易理解
menu.htm
如何工作,但是
.htaccess
如何在没有文件扩展名的情况下使
menu
工作?非常感谢!在DevTools中,我在菜单页中找到了这段代码,
重写规则指定apache(您的Web服务器)如何转换请求以及它应该调用哪个文件(重定向)。当您将对服务器的任何请求(^.*$匹配所有内容)重写为index.php时,您可以处理php程序代码中的“路径”(例如./menu)。对服务器的每个请求都可以通过php程序的业务逻辑(包括css、图像、音频、字体、视频等)处理,但在大多数情况下,你只需要用数据和文本填充一些模板。我刚刚在google上做了一个快速搜索,这似乎是深入研究htaccess/mod_rewrite的一个良好开端(以防万一,你需要更多的知识):