删除.php扩展不起作用


Remove .php extension is not working

我找到了很多关于删除URL中.php扩展名的教程和问题。我已经尝试了很多例子,直到现在它仍然不起作用。这让我发疯。我还想在 URL 的末尾加上尾部斜杠,但首先我想先实现这一点。目前我已经尝试了这个,这是我的一些解决方案:

Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L]

还有这个:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}'.php -f
RewriteRule ^(.*)$ $1.php

没有什么是好的。我正在使用Windows 7和XAMPP在笔记本电脑上工作。我只是简单地创建了我的.htaccess文件并将其放在localhost/myFolder中。当我在浏览器中运行时,根据我的解决方案,(i)有时找不到页面,(ii)有时服务器内部错误。同样,当我运行例如本地主机/myFolder/index时,URL将被重定向到没有myFolder的localhost/index。我想知道为什么会发生这种情况,并希望有人可以给我链接或解决方案,因为我尝试了很多。提前谢谢你。

以下内容对我来说很好用:

RewriteEngine On
RewriteBase /myFolder
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}'.php -f
RewriteRule ^(.*[^/])/?$ $1.php [L]

在/myFolder/.htaccess 中尝试以下代码来隐藏.php扩展:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/myFolder/$1.php -f
RewriteRule ^(.+?)/?$ $1.php [L]

问题的解决方案:

Options +MultiViews
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/myFolder/$1.php -f
RewriteRule ^(.+?)/?$ $1.php [L]

我刚刚替换了您的-登录multiviews,它开始在我的本地主机上工作