鉴于我对 PHP 的“包含”功能的新理解,我猜测我网站上的所有页面都将是 .php 扩展名。
这会被认为很奇怪吗?
我曾经认为大多数页面都是 .htm 或 .html,但在环顾网络时,我注意到确实没有任何“标准”。
如果我想从 php 文件调用我的菜单,我真的认为我别无选择。就我所见,它就是那样......所以只是让你们大家来感受一下“真正的程序员”对这些问题的感受。
鉴于我对 PHP 的“包含”功能的新理解,我猜测我网站上的所有页面都将是 .php 扩展名。
这会被认为很奇怪吗?
我曾经认为大多数页面都是 .htm 或 .html,但在环顾网络时,我注意到确实没有任何“标准”。
如果我想从 php 文件调用我的菜单,我真的认为我别无选择。就我所见,它就是那样......所以只是让你们大家来感受一下“真正的程序员”对这些问题的感受。
对浏览器来说真正重要的不是文件的扩展名,而是文件的扩展名。它是在 HTTP 标头中发送的 MIME 类型。标头是在实际文件之前发送的数据,并说明它是什么类型的数据,它有多大,以及一堆其他不重要的垃圾。您可以将服务器配置为将任何文件扩展名作为 HTML 页面发送,但 HTML 页面最常见的扩展名是 .htm、.html、.php、.asp、.aspx、.shtml、.jsp 等。
至于它看起来“奇怪”,实际上很少有人会看地址栏,更不用说文件扩展名是 .php 而不是 .html。如果我是你,我就不会担心;它真的没有什么区别。
一般 - 确保您的 URL 易于阅读,反映其下方的内容,并且不要更改。“不变”部分可能很棘手,尤其是当您随着时间的推移改变技术时(html>php>aspx)。
要实现这一点,只需确保您网站的每个区域都位于其自己的子目录中。
mysite.com/news/
mysite.com/aboutus/
mysite.com/products/
等等
您可以通过以这种方式物理构建您的站点并使用默认文档 (default.html/php/aspx) 来做到这一点,或者使用类似 mod rewrite、ISAPI rewrite 或类似的东西来将这些路径重写为适当的文档。
热衷于 SEO 或营销的人可能对什么构成“好” URL 有不同的想法,但作为开发人员,这就是我的看法。
在 .php 中结束 URL 从技术上讲是好的,但我认为现在很多人都试图使 URL 独立于实际的代码/文件结构。
实际上,从软件工程的角度来看,我认为这也是一件好事。URL 在概念上与用于组织为网站提供动力的系统的文件/目录结构不同(阅读:根本不相关)。
URL“定位”的“资源”不是包含显示它的代码的 .php 或 .asp 文件。
以stackoverflow为例,这个问题的URL是/questions/322944/uql-etiquette
,里面没有任何东西可以用来“猜测”底层框架/系统。在这种情况下,资源是问题及其所有答案,以及评论、投票、编辑和各种其他内容。
无论您的 URL 以什么结尾,.php
都很好,而且相当普遍。如今,人们唯一关心的就是 URL 是否适合搜索引擎优化,但这是一个全新的问题。
真正的程序员使用像 /noun/verb/id/ 这样的 URL 并且根本不显示文件扩展名:p
我个人使用 Apache 的 mod-rewrite。
(稍微不那么诙谐的注释)值得一提的是,特别是对于包含,您应该确保您的实际文件具有扩展名 .php。我见过不止一个站点可以在浏览器中查看编程逻辑,因为开发人员结束了他们的文件 .inc(或在此处插入选择的非自动解析扩展名)。
就 url 礼仪而言——我真的不认为涉及礼仪;但是,如果您有成熟的用户访问您的网站,他们对平台和技术有强烈的看法,那么使用 .php 或 .aspx 扩展名可能会让用户望而却步——也许是下意识的。
如果您使用 apache,通过更改 httpd.conf 文件将 .php 读取为 .py 是相当容易的,反之亦然。我目前的做法是使用 .html 扩展名(或根本不使用扩展名)并将所有文件视为 .php。
无论您决定什么,请确保您永远不会破坏现有的网址。即使您保留 .php 作为扩展名并决定稍后更改技术,也可以实现这一点。