当我去一些网站时,我注意到页面上没有文件扩展名。实际上,这个网站就是一个很好的例子。有人知道这是怎么做到的吗?:]
4 回答
这通常通过URL 重写来完成(链接到一个很棒的介绍性教程)。
在最简单的情况下,重写规则只是通过在 url 末尾添加“.php”(或任何其他文件扩展名)来重定向每个地址。因此,如果有人试图访问http://www.yoursite.com/about-me
,他们实际上是在查看来自文件的内容about-me.php
。
这也可以是一个 MVC 框架。(在这里搜索,有很多 php,一个著名的 .NET,我相信很多语言都有很多框架。
这个站点有一个根文件,我们称它为 index.aspx(它不是,但跟我一起去吧),那个文件有特殊的代码来读取更多的 URL。如前所述,与 URL 重写结合使用时,该特殊文件接收通常是路径信息的内容并将其视为变量输入。
是这样的
https://stackoverflow.com/index.aspx/questions/778799/possible-to-remove-extentions-on-php-pages _ _
index.aspx 是通过 URL 重写隐藏的文件。 Questions 是指示控制器的参数, 778799 是参数,其他文本是最终参数。(这被忽略了)
更多见
除了 URL 重写之外,您还可以更改 apache 的配置以支持替代文件扩展名,从而允许您执行诸如 MyPHPPage.html 之类的操作。
问候,
弗兰克
使用 mod_rewrite。只需将这样的代码放在根目录下名为 .htaccess 的文件中:
RewriteEngine on
RewriteRule ^([^/\.]+)/?([^/\.]+)/?$ index.php?resource_type=$1&id=$2 [QSA,L]
注意 $1 和 $2 如何访问正则表达式括号部分中的两个数量。从这里扩展代码似乎很容易