通过启用Apache的mod_rewrite模块并配置.htaccess文件,可实现PHP应用的URL重写;2. Nginx需在服务器配置中添加location规则进行请求转发;3. Laravel框架结合Web服务器重写规则支持优雅路由;4. ThinkPHP可通过开启路由模式并定义路由规则提升URL可读性。

如果您在开发PHP应用时希望URL更加简洁和易于理解,可以通过路由配置实现URL重写。默认情况下,PHP应用的URL可能包含index.php或参数字符串,影响可读性。通过启用URL重写,可以将复杂的URL转换为友好的形式。
本文运行环境:联想ThinkPad X1 Carbon,Windows 11
Apache服务器通过mod_rewrite模块支持URL重写功能。启用该模块后,可通过.htaccess文件定义重写规则,将用户请求映射到指定的入口文件。
1、打开Apache的配置文件httpd.conf,查找LoadModule rewrite_module modules/mod_rewrite.so,确保该行未被注释。
立即学习“PHP免费学习笔记(深入)”;
2、在项目根目录下创建或编辑.htaccess文件,添加以下内容:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
Nginx不支持.htaccess文件,需在服务器配置中直接定义重写规则。通过location块捕获所有非静态资源请求,并转发至入口脚本处理。
1、编辑Nginx站点配置文件,在server块中添加以下location配置:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
2、重启Nginx服务使配置生效,命令为sudo nginx -s reload。
Laravel框架默认支持优雅路由,结合Web服务器重写规则,可实现无需index.php的URL访问。路由定义位于routes/web.php文件中。
1、确保public/.htaccess文件存在且内容正确,包含开启RewriteEngine的指令。
2、在routes/web.php中添加路由规则,例如:
Route::get('user/profile', [UserController::class, 'profile']);
3、访问/user/profile时,系统将自动解析并调用对应控制器方法。
ThinkPHP提供完整的路由管理系统,可在应用配置中开启路由模式,并自定义路由规则,提升URL可读性和安全性。
1、打开application/config.php文件,设置'url_route_on' => true,启用路由解析。
2、在application/route.php中添加路由定义,例如:
use think\facade\Route;
Route::get('news/:id','index/news/read');
3、当访问/news/5时,框架将自动映射到index模块的news控制器read方法,并传入id=5。
以上就是php框架怎样进行URL重写_php框架路由美化的配置方法的详细内容,更多请关注php中文网其它相关文章!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号