2010-02-05 60 views
3

我有一个文件是否有可能在Apache中有一个PHP文件没有扩展名的情况下运行?

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

我希望能够通过将

http://www.www.com/somefile 

去同一个文件,但我仍然需要

http://www.www.com/directory 

打开文件

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

如果,其实目录是一个目录。

这是一个典型的使用红帽和Apache的LAMP设置。

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

回答

3

一个Apache重写规则会为你做这个。唯一的限制是你不能有一个名为“somefile.php”的文件和一个名为“somefile”的目录(尽管你仍然可以有目录)。

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

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

会改变/ somefile1到/somefile1.php,/ somefile2到/somefile2.php,和/ somefile3到/somefile3.php。

+0

^这。不要重命名文件,只需更改Apache将URL匹配到文件名的方式。 – 2010-02-05 00:55:00

+0

谢谢,就是这样。 – Jason 2010-02-05 00:59:32

2

看看Apache的ForceType。

0

如果您希望禁用的需要您网站上全球网址上的文件扩展名,您还可以将以下内容添加到您的.htaccess

Options +MultiViews 

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

相关问题