我有一个文件
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 设置。
那可能吗?如果是这样,怎么做?
我有一个文件
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 设置。
那可能吗?如果是这样,怎么做?
一个 apache 重写规则将为您执行此操作。唯一的限制是你不能有一个名为“somefile.php”的文件和一个名为“somefile”的目录(尽管你仍然可以有目录。
这是一个支持多个文件名的示例规则(只需放入您的 .htaccess 文件中)。
RewriteEngine on
RewriteRule ^(somefile1|somefile2|somefile3) $1.php
将 /somefile1 更改为 /somefile1.php,将 /somefile2 更改为 /somefile2.php,将 /somefile3 更改为 /somefile3.php。
看看 Apache 的 ForceType。
如果您想在您的站点上全局禁用对 url 文件扩展名的需要,您还可以将以下内容添加到您的.htaccess
:
Options +MultiViews
这将启用内容协商。但是,如果您只想匹配某些文件和/或 url,请改用 SoapBox 的答案。