我在我的新RaspberryPi上编码。我尝试使用.htaccess从名为' greet'的文件中删除.php。
我安装了apache2:" sudo apt-get install apache2
使用以下功能启用重写模块:" sudo a2enmod rewrite "
我也改变了覆盖标准网站配置的许可。
我知道我的重写模块正在运行,因为我尝试了以下内容:
RewriteEngine On
RewriteRule ^greet.html$ greet.php
成功将192.168.0.123/greet.html重定向到192.168.0.123/greet.php。
但是,以下代码删除.php文件扩展名似乎对我无效:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
当我在浏览器中输入http://192.168.0.123/greet时,我没有收到greet.php文件。相反,我最终选择了 404 Not Found 页。
答案 0 :(得分:0)
你可以这样试试你的规则。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/.]+)$ $1.php [NC,L]
答案 1 :(得分:0)
为什么不使用多视图来处理这个问题?如果你没有很多复杂的重写规则,你可以让mod_negotiation为你处理这些扩展。只需要打开它
Options +Multiviews