2

当我去一些网站时,我注意到页面上没有文件扩展名。实际上,这个网站就是一个很好的例子。有人知道这是怎么做到的吗?:]

4

4 回答 4

9

这通常通过URL 重写来完成(链接到一个很棒的介绍性教程)。

在最简单的情况下,重写规则只是通过在 url 末尾添加“.php”(或任何其他文件扩展名)来重定向每个地址。因此,如果有人试图访问http://www.yoursite.com/about-me,他们实际上是在查看来自文件的内容about-me.php

于 2009-04-22T19:32:05.500 回答
6

这也可以是一个 MVC 框架。(在这里搜索,有很多 php,一个著名的 .NET,我相信很多语言都有很多框架。

这个站点有一个根文件,我们称它为 index.aspx(它不是,但跟我一起去吧),那个文件有特殊的代码来读取更多的 URL。如前所述,与 URL 重写结合使用时,该特殊文件接收通常是路径信息的内容并将其视为变量输入。

可以删除 php 页面上的扩展名吗?

是这样的

https://stackoverflow.com/index.aspx/questions/778799/possible-to-remove-extentions-on-php-pages _ _

index.aspx 是通过 URL 重写隐藏的文件。 Questions 是指示控制器的参数, 778799 是参数,其他文本是最终参数。(这被忽略了)

更多见

http://www.asp.net/mvc/

http://codeigniter.com/

http://en.wikipedia.org/wiki/Model-view-controller

于 2009-04-22T19:39:43.577 回答
3

除了 URL 重写之外,您还可以更改 apache 的配置以支持替代文件扩展名,从而允许您执行诸如 MyPHPPage.html 之类的操作。

问候,
弗兰克

于 2009-04-22T19:34:08.613 回答
1

使用 mod_rewrite。只需将这样的代码放在根目录下名为 .htaccess 的文件中:

RewriteEngine on
RewriteRule ^([^/\.]+)/?([^/\.]+)/?$ index.php?resource_type=$1&id=$2 [QSA,L]

注意 $1 和 $2 如何访问正则表达式括号部分中的两个数量。从这里扩展代码似乎很容易

于 2009-04-23T06:38:01.140 回答