我最近一直把头发拉过htaccess。基本上,我使用此设置从http到https的自动重定向。现在,我希望添加剥离文件结尾的功能(在本例中为.php),只需要domain.tld / privacy,而不是domain.tld / privacy.php。
但是我无法正常工作(渲染500 - 内部服务器错误)。我已经浏览了S / O上没有文件名结尾的几个线程,虽然这些线似乎适用于那些人,但它们并不适合我。是否会以某种方式与SSL规则冲突?如果有人可以指出我正确的方向,那就太有必要了!
RewriteEngine On
DirectorySlash Off
Options -MultiViews
RewriteCond %{HTTP_HOST} ^mightweb\.net [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://mightweb.net/$1 [R,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
答案 0 :(得分:1)
您可以添加(位于RewriteEngine On
下方):
DirectorySlash Off
Options -MultiViews
答案 1 :(得分:0)
尝试将第二条规则(附加php扩展名)更改为:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f
RewriteRule ^(.*?)/?$ /$1.php [L]