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

时间:2009-04-22 19:30:25

标签: php webpage

当我访问某些网站时,我注意到页面上没有文件扩展名。实际上,这个网站就是一个恰当的例子。谁知道这是怎么做到的? :

4 个答案:

答案 0 :(得分:9)

这通常使用URL Rewriting完成(链接转到一个很棒的入门教程)。

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

答案 1 :(得分:6)

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

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

Possible to remove extentions on php pages?

就像是

https://stackoverflow.com/的Index.aspx /问题/ 778799 /可能去除的-一些推广-ON-PHP-页

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

有关详情,请参阅

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

http://codeigniter.com/

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

答案 2 :(得分:3)

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

的问候,
弗兰克

答案 3 :(得分:1)

使用mod_rewrite。只需将这样的代码放在你的root上名为.htaccess的文件中:

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

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