全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

URL重写与动态路由:PHP中实现类似/article1的美观文章链接

本文介绍如何在php网站中通过url重写(rewrite)和动态路由机制,将冗长的`?articleid=1`参数式链接转换为简洁美观的`/article1`或`/article/1`等伪静态路径,提升seo与用户体验。

在现代PHP内容网站中,直接为每篇文章创建独立HTML文件(如 article1.html)不仅难以维护,还违背了DRY(Don’t Repeat Yourself)原则。更专业、可扩展的做法是:统一使用单个PHP入口(如 article.php),配合URL重写规则,将形如 /article/123 的请求“隐式转发”给该脚本处理——用户看到的是干净路径,后端执行的仍是动态查询。

✅ 核心技术:URL重写(Apache/Nginx) + 动态路由

1. 启用URL重写(以Apache为例)

在项目根目录创建或编辑 .htaccess 文件:

# 启用重写引擎
RewriteEngine On

# 防止重写静态资源(CSS/JS/图片等)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# 将 /article/123 → /article.php?id=123
RewriteRule ^article/([0-9]+)/?$ article.php?id=$1 [L,QSA]

# 可选:支持 /article1 → /article.php?id=1(需确保无冲突)
# RewriteRule ^article([0-9]+)/?$ article.php?id=$1 [L,QSA]
⚠️ 注意:确保Apache已启用 mod_rewrite 模块,并在虚拟主机配置中允许 .htaccess 覆盖(AllowOverride All)。

2. 编写动态文章处理器(article.php)

prepare("SELECT title, content, created_at FROM articles WHERE id = ?");
$stmt->execute([$id]);
$article = $stmt->fetch(PDO::FETCH_ASSOC);

if (!$article) {
    http_response_code(404);
    die('Article not found.');
}
?>


<?= htmlspecialchars($article['title']) ?>

    

3. Nginx 用户替代方案(nginx.conf 片段)

location ^~ /article/ {
    rewrite ^/article/([0-9]+)/?$ /article.php?id=$1 last;
}

? 关键要点与最佳实践

  • 永远不要直接拼接 $_GET 参数到SQL中:必须使用PDO预处理或MySQLi绑定参数,杜绝SQL注入。
  • 输出前转义HTML内容:使用 htmlspecialchars() 防止XSS攻击。
  • 返回正确HTTP状态码:查无结果时发送 404 Not Found,而非空白页或200。
  • SEO友好建议:在数据库中为每篇文章添加 slug 字段(如 how-to-use-url-rewrite),改用 /article/how-to-use-url-rewrite,更语义化且利于排名。
  • 避免过度重写:确保重写规则不干扰真实存在的静态文件(CSS/JS/图片),.htaccess 中的 !-f 和 !-d 条件必不可少。

通过以上配置,你的网站即可优雅支持无限量文章,URL简洁专业,同时保持代码高度复用与安全可控。


# css  # mysql  # php  # html  # js  # apache  # nginx  # 处理器  # seo  # access  # 后端  # 路由  # sql  # xss  # mysqli  # pdo 


相关文章: 如何在宝塔面板中修改默认建站目录?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  网站制作说明怎么写,简述网页设计的流程并说明原因?  大连网站制作公司哪家好一点,大连买房网站哪个好?  建站org新手必看:2024最新搭建流程与模板选择技巧  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  网站制作价目表怎么做,珍爱网婚介费用多少?  html制作网站的步骤有哪些,iapp如何添加网页?  建站之星代理如何获取技术支持?  手机网站制作与建设方案,手机网站如何建设?  行程制作网站有哪些,第三方机票电子行程单怎么开?  黑客如何利用漏洞与弱口令入侵网站服务器?  山东云建站价格为何差异显著?  电商平台网站制作流程,电商网站如何制作?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  ,sp开头的版面叫什么?  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  如何做网站制作流程,*游戏网站怎么搭建?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  广州建站公司哪家好?十大优质服务商推荐  如何获取上海专业网站定制建站电话?  如何用PHP工具快速搭建高效网站?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  如何在Ubuntu系统下快速搭建WordPress个人网站?  如何基于PHP生成高效IDC网络公司建站源码?  php json中文编码为null的解决办法  香港网站服务器数量如何影响SEO优化效果?  广平建站公司哪家专业可靠?如何选择?  如何快速生成凡客建站的专业级图册?  建站主机选购指南:核心配置与性价比推荐解析  建站之星后台管理:高效配置与模板优化提升用户体验  如何实现建站之星域名转发设置?  网页设计网站制作软件,microsoft office哪个可以创建网页?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  建站之星如何防范黑客攻击与数据泄露?  建站之星备案流程有哪些注意事项?  如何在服务器上三步完成建站并提升流量?  如何选择PHP开源工具快速搭建网站?  如何快速生成ASP一键建站模板并优化安全性?  如何用IIS7快速搭建并优化网站站点?  ,南京靠谱的征婚网站?  建站为何优先选择香港服务器?  建站之星后台管理系统如何操作?  建站之星3.0如何解决常见操作问题?  如何在阿里云域名上完成建站全流程? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。