0

我发现了很多关于删除 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)有时服务器内部错误。此外,当我运行例如 localhost/myFolder/index 时,URL 将被重定向到没有 myFolder 的 localhost/index。我想知道为什么会发生这种情况,希望有人能给我链接或解决方案,因为我尝试了很多。先感谢您。

4

3 回答 3

0

以下对我来说很好:

RewriteEngine On
RewriteBase /myFolder
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*[^/])/?$ $1.php [L]
于 2013-11-05T06:31:51.420 回答
0

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

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/myFolder/$1.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
于 2013-11-05T07:31:32.830 回答
0

您的问题的解决方案:

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

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

于 2015-07-17T06:24:50.013 回答