是否可以在没有扩展名的情况下在apache中运行php文件?

时间:2010-02-05 00:40:06

标签: php apache-config

我有一个文件

http://www.www.com/somefile.php

我希望能够通过转到

来获取相同的文件
http://www.www.com/somefile

但我仍然需要

http://www.www.com/directory

打开文件

http://www.www.com/directory/index.php

实际上,如果目录是目录。

这是Red Hat和Apache的典型LAMP设置。

这可能吗?如果是这样,怎么样?

3 个答案:

答案 0 :(得分:3)

apache重写规则将为您执行此操作。唯一的限制是您不能拥有名为“somefile.php”的文件和名为“somefile”的目录(尽管您仍然可以拥有目录。

这是一个支持多个文件名的示例规则(只需放入.htaccess文件中)。

RewriteEngine on
RewriteRule ^(somefile1|somefile2|somefile3) $1.php

将/ somefile1更改为/somefile1.php,/ somefile2更改为/somefile2.php,将/ somefile3更改为/somefile3.php。

答案 1 :(得分:2)

看看Apache的ForceType。

答案 2 :(得分:0)

如果您想在网站上全局禁用网址扩展名,则还可以将以下内容添加到.htaccess

Options +MultiViews

这将启用Content Negotiation。但是,如果您只想匹配某些文件和/或网址,请改为使用SoapBox's Answer