我有一个我在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(或任何扩展名),只有文件名没有扩展名转到文件,并用斜杠转到目录。
有什么方法可以做到这一点吗?
答案 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。