当前位置:首页 > PHP

PHP 伪静态如何实现

2026-02-13 17:45:20PHP

伪静态实现原理

伪静态是通过服务器重写规则(如Apache的mod_rewrite或Nginx的rewrite)将动态URL转换为静态形式的URL。实际处理仍由动态脚本完成,但对外显示为静态路径,提升SEO友好性和用户体验。

Apache环境实现方法

在网站根目录创建或修改.htaccess文件,启用mod_rewrite模块后添加规则:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^article/([0-9]+).html$ article.php?id=$1 [L]

此规则将/article/123.html映射到article.php?id=123

PHP 伪静态如何实现

Nginx环境实现方法

在Nginx配置文件的server段内添加重写规则:

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

PHP代码配合处理

动态脚本需正常接收参数。例如article.php处理逻辑:

PHP 伪静态如何实现

$articleId = isset($_GET['id']) ? intval($_GET['id']) : 0;
// 根据$articleId查询数据库并输出内容

注意事项

  • 服务器必须支持URL重写模块
  • 规则需放在其他规则之前
  • 复杂参数需使用正则表达式捕获
  • 测试时清除浏览器缓存

多参数处理示例

Apache规则示例:

RewriteRule ^product/([a-z]+)/([0-9]+)/?$ product.php?category=$1&id=$2 [NC,L]

Nginx规则示例:

rewrite ^/product/([a-z]+)/([0-9]+)/?$ /product.php?category=$1&id=$2 last;

分享给朋友:

相关文章

vue自动登录如何实现

vue自动登录如何实现

实现自动登录的基本思路 自动登录通常通过结合本地存储(如localStorage或cookie)和token验证机制实现。用户首次登录成功后,服务器返回的认证token会被保存在客户端,下次打开应用时…

php如何实现静态化

php如何实现静态化

PHP 实现静态化的方法 使用 ob_start() 和 ob_get_contents() 利用 PHP 的输出缓冲功能捕获动态生成的页面内容,将其保存为静态文件。这种方法适用于内容不频繁变化的页面…

vue如何实现高亮

vue如何实现高亮

实现文本高亮的方法 在Vue中实现文本高亮通常可以通过以下几种方式完成: 使用v-html指令结合字符串替换 通过将需要高亮的文本部分替换为HTML标签(如<span class="highl…

react如何实现分页

react如何实现分页

实现分页的基本思路 在React中实现分页通常需要以下几个核心步骤:管理当前页码状态、计算分页数据、渲染分页控件。以下是一个典型的分页实现方法。 管理分页状态 使用React的useState钩子来…

css制作静态网页

css制作静态网页

使用CSS制作静态网页的基本方法 HTML结构搭建 静态网页的基础是HTML结构,需先创建清晰的DOM树。典型结构包括<!DOCTYPE html>声明、<head>(含<…

vue如何实现confirm

vue如何实现confirm

Vue 实现 Confirm 弹窗的方法 在 Vue 中实现确认弹窗(Confirm)可以通过多种方式,以下是几种常见的方法: 使用浏览器原生 confirm 最简单的实现方式是直接调用浏览器的原生…