
本文旨在解决在XAMPP本地环境中,使用.htaccess文件去除URL中的.php扩展名失效的问题。通过详细讲解mod_rewrite模块的启用方法以及.htaccess文件的配置,帮助开发者在本地开发环境中实现与线上服务器一致的URL美化效果,提升开发效率。
在Web开发过程中,为了URL的简洁性和美观性,我们通常会移除URL中的.php扩展名。虽然在服务器上通过配置.htaccess文件可以轻松实现,但在XAMPP本地环境中,可能会遇到配置生效的问题。这通常是因为mod_rewrite模块未启用。
mod_rewrite是Apache服务器的一个强大模块,用于URL重写。XAMPP默认情况下可能未启用此模块。启用它的步骤如下:
找到php.ini文件: php.ini 文件位于 XAMPP 的 PHP 安装目录下。可以通过 XAMPP 控制面板找到 PHP 的配置目录。通常位于 C:\xampp\php 目录下。
立即学习“PHP免费学习笔记(深入)”;
启用mod_rewrite扩展: 使用文本编辑器打开 php.ini 文件,搜索 extension=php_rewrite.dll (Windows) 或 extension=rewrite.so (Linux)。 如果该行被注释(以分号 ; 开头),请移除分号以取消注释,启用该扩展。
;extension=php_rewrite.dll (修改前) extension=php_rewrite.dll (修改后)
或者
;extension=rewrite.so (修改前) extension=rewrite.so (修改后)
修改Apache配置文件 (httpd.conf): 找到 Apache 的配置文件 httpd.conf。它通常位于 C:\xampp\apache\conf 目录下。
修改 <Directory> 指令: 在 httpd.conf 文件中,找到 <Directory> 指令,该指令定义了网站根目录的访问权限。通常情况下,需要修改网站根目录的 <Directory> 指令,例如:
<Directory "C:/xampp/htdocs">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>确保 AllowOverride 设置为 All。 AllowOverride All 允许 .htaccess 文件覆盖 Apache 的全局配置。
重启 Apache 服务器: 保存修改后的 php.ini 和 httpd.conf 文件,然后通过 XAMPP 控制面板重启 Apache 服务器,以使更改生效。
在网站的根目录下创建一个名为 .htaccess 的文件(如果不存在)。 将以下代码添加到 .htaccess 文件中:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*[^/])/?$ $1.php [L]代码解释:
假设你有一个名为 about.php 的文件。 在配置完成后,你可以通过访问 http://localhost/about 来访问 about.php 文件,而无需在 URL 中包含 .php 扩展名。
通过启用 mod_rewrite 模块并正确配置 .htaccess 文件,你可以在 XAMPP 本地环境中成功去除 URL 中的 .php 扩展名,从而获得与线上服务器一致的开发体验。 请务必按照步骤操作,并仔细检查配置文件,确保所有设置正确无误。
以上就是去除XAMPP本地主机URL中的.php扩展名:配置与实践的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号