如何删除单个文件的.php文件扩展名?(.htaccess)


How to remove .php File extension for a single file? (.htaccess)

我在网上搜索过,但找不到如何隐藏单个文件的.php扩展名

(/foo.php到/foo)

使用.htaccess ,我如何在不接触任何其他文件的情况下对这个特定文件执行此操作

(答案可能很简单,但我要么很愚蠢,要么不够认真)

如果您的意思是希望您的用户在浏览器中输入/foo,并真正在后台访问/foo.php(例如:要获得漂亮的URL),则需要内部重定向。将以下内容添加到站点顶部公用文件夹中的.htaccess文件中:

RewriteEngine On
RewriteBase /
RewriteRule ^foo$    /foo.php     [END,QSA,NC]

它的工作原理

  1. 您的服务器在路径/foo上收到内容请求
  2. 服务器找到上面的规则,并转发请求,并在内部将路径更改为/foo.php

  3. END标志:请求立即发送给/foo.php。在旧版本的Apache中使用L(请参阅文档)

  4. QSA标志:请求参数也被转发(例如:/foo?item=7
  5. NC标志:不区分大小写的匹配。/FOO也将转发到/foo.php