如何从Url中删除.php扩展名,并在用户尝试使用.php扩展名输入Url时显示404错误

如何从Url中删除.php扩展名,并在用户尝试使用.php扩展名输入Url时显示404错误,php,.htaccess,Php,.htaccess,我可以从url中删除.php扩展名,但我希望如果用户使用.php扩展名输入url,那么页面应该使用.htaccess显示404错误 请提供任何帮助您可以将此代码放入您的文档\u ROOT/.htaccess文件中以隐藏.php扩展名: RewriteEngine On RewriteBase / # To externally redirect /file.php to /file RewriteCond %{THE_REQUEST} \s/+(?:index)?(.*?)\.php[\s?]

我可以从url中删除.php扩展名,但我希望如果用户使用.php扩展名输入url,那么页面应该使用.htaccess显示404错误


请提供任何帮助

您可以将此代码放入您的
文档\u ROOT/.htaccess
文件中以隐藏
.php
扩展名:

RewriteEngine On
RewriteBase /

# To externally redirect /file.php to /file
RewriteCond %{THE_REQUEST} \s/+(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ %1 [R=301,L,NE]

# To internally forward /file to /file.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ $1.php [L]

我想你是在尝试创建一个干净的url

这里有一个链接,描述要做的事情


我希望这能有所帮助。

你到底为什么要这么做?这不是404错误。该.php URL至少显示为永久重定向到新URL。另外,您使用的是apache、nginx还是其他什么?我使用的是wamp服务器谢谢,但我认为它不起作用。。。查看此链接[这是一个php论坛链接。.当您打开此链接时,url将不带扩展名,但当您在url末尾键入.php时,将出现404错误页面。这是由于提供了不完整的相关信息。您将.htaccess放在了哪个.htaccess中?很可能您在
/forum/
文件夹中也有.htaccess。如果是case然后让我知道规则需要相应更改。你可以查看[www.engineersgarage.com]网站。打开任何页面并键入.php或任何扩展名,然后页面自动重定向到404错误页面。你仍然没有回答我的问题。你把这个.htaccess放在哪里了?你还有
/forum/.htaccess
吗?