我有以下htaccess以允许url中没有文件扩展名:
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php
我的问题是我有一个名为images.php的文件和一个名为images的文件夹,所以当我使用url:.com / images时,它会将我带到images文件夹,其中:.com / contact - 带我到正确的页面。
答案 0 :(得分:0)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
使用这两行,您可以说测试字符串(在您的情况下为'images')不是目录而不是文件,请将其重写为images.php。现在,由于你有图像目录,第二条规则不满意,图像被重写为images.php internaly。
更改文件夹名称,更改脚本名称或更改.htaccess规则和条件。
答案 1 :(得分:0)
我认为如果你在你的规则之前加上这条规则就可以起作用......(但我没有测试它)
RewriteRule ^images/(.*)$ images/$1.php [L]
答案 2 :(得分:0)
根据Tim Stone建议,删除RewriteCond %{REQUEST_FILENAME} !-d
行将解决问题。
您的规则应如下所示:
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ $1.php