📅  最后修改于: 2023-12-03 15:37:32.933000             🧑  作者: Mango
在 PHP 中,我们经常使用文件扩展名 .php
来表示 PHP 脚本文件。然而,这会暴露我们的代码中使用了 PHP,因此可能会有潜在的安全隐患。 因此,我们可以通过将文件扩展名从 .php
改为 .html
或其它扩展名来隐藏 PHP 的存在。在本文中,我们将介绍如何在 URL 中隐藏 PHP 扩展名。
在 Apache 服务器上运行的 PHP 应用程序通常使用 .htaccess
文件控制访问、重写 URL 和隐藏文件扩展名等操作。要隐藏 PHP 扩展,请按照以下步骤操作:
在应用程序的根目录中创建 .htaccess
文件。
将以下代码添加到文件中:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
这个代码块执行了以下操作:
打开 URL 重写引擎,允许重写 URL。
检查请求的 URL 是否表示一个现有的目录,如果是,则不进行重写操作。
检查请求的 URL 是否表示一个没有扩展名的现有文件,如果是,则将请求重定向到带有 .php
扩展名的相同文件。
将 Apache 服务器配置文件中的 AllowOverride
值设置为 All
,以便 .htaccess
文件的重写规则生效。
重新启动 Apache 服务器以使更改生效。
如果您正在开发 PHP 应用程序,并且使用 PHP 内置服务器进行测试,则也可以轻松地隐藏 PHP 扩展名。在终端或命令提示符中运行以下命令:
php -S localhost:8000 -t public/ router.php
这个命令启动了一个本地的 PHP 服务器,并将应用程序的根目录设置为 public/
目录。此目录中的 index.php
文件将自动担任默认文档。如果您要访问 about.php
文件,则可以使用以下 URL:
http://localhost:8000/about
在 URL 中不需要添加 .php
扩展名,因为这个文件名已包含在请求的 URL 中了。
使用 .htaccess
文件和 PHP 内置服务器,我们可以轻松地在 URL 中隐藏 PHP 扩展名。这可以提高安全性,并使我们的应用程序更加美观。