您的位置:首页 >PHP中Apache或Nginx配置URL重写规则
发布于2025-11-05 阅读(0)
扫一扫,手机访问
URL重写通过服务器配置将动态URL转为静态形式,在Apache中启用mod_rewrite并配置.htaccess实现,如RewriteRule ^article/([0-9]+)$ article.php?id=$1;在Nginx中通过server块内try_files或rewrite指令完成,如rewrite ^/user/(1+)$ /user.php?name=$1 last,常用于SEO优化、MVC路由及隐藏入口文件。/ ↩

URL重写在PHP开发中非常常见,主要用于将动态URL转换为更友好、利于SEO的静态形式。实现URL重写主要依赖于服务器配置,在Apache和Nginx环境下配置方式不同。下面分别介绍如何在Apache和Nginx中配置PHP的URL重写规则。
Apache通过mod_rewrite模块支持URL重写,通常使用.htaccess文件进行配置。
1. 确保mod_rewrite模块已启用
在Apache配置文件(如httpd.conf)中检查以下行是否取消注释:
LoadModule rewrite_module modules/mod_rewrite.so同时确保AllowOverride设置为All,以便允许目录下的.htaccess文件生效:
2. 创建或编辑 .htaccess 文件
在项目根目录创建.htaccess文件,添加如下内容示例:
上述规则表示:当访问article/123时,实际由article.php?id=123处理,但地址栏保持友好格式。
Nginx不使用.htaccess,所有重写规则需写入服务器配置文件中,通常位于/etc/nginx/nginx.conf或站点配置文件如/etc/nginx/sites-available/default。
1. 在server块中配置重写规则
示例配置:
server {其中try_files指令是关键:它尝试按顺序查找文件,若不存在则交给index.php处理,实现类似前端控制器模式。
2. 更具体的重写规则示例
如果需要将/user/john映射到user.php?name=john,可添加:
URL重写常用于以下情况:
product.php?id=5重写为/product/5index.php/article/1变为/article/1配置完成后建议进行测试,注意以下几点:
.htaccess后无需重启服务,但需确认配置被加载nginx -s reload或重启服务$_SERVER['REQUEST_URI']获取原始请求路径用于路由解析基本上就这些,根据所用服务器选择对应配置方式即可实现PHP项目的URL重写功能。
上一篇:小米手机电池校正代码使用方法
下一篇:Win10开启卓越性能模式方法
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8