如何使用相同名称的文件和目录

时间:2016-06-16 13:12:53

标签: php apache .htaccess

我有一个我在Apache Web服务器上托管的网站,我有一些文件与某些目录具有相同的名称(没有扩展名)。

我也在.htaccess文件中删除了扩展程序:

#Remove .php from filenames
Options -MultiViews
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

例如,我有一个名为test.php的文件和一个名为test的目录。当我转到http://redxtech.ca/test时,它会在URL中添加一个斜杠并转到目录test /的内容。

我知道只需在文件名末尾输入.php就可以解决我的问题,但是我希望没有.php(或任何扩展名),只有文件名没有扩展名转到文件,并用斜杠转到目录。

有什么方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:0)

经过一番侦察这个网站后,我找到了答案。

# Manually re-route test/ requests to test
DirectorySlash Off
RewriteCond %{REQUEST_FILENAME} test/$
RewriteRule ^(.*)/$ $1 

# Hide extension
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

唯一的问题是我必须为每个希望具备此条件的目录单独执行此操作。

回答here