2010-02-05 78 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

相關問題