当前位置:首页 > 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如何实现多级域名

Vue 实现多级域名的方法 Vue 本身是一个前端框架,多级域名的实现通常需要结合后端配置和前端路由。以下是几种常见的方法: 使用路由动态匹配 在 Vue Router 中可以通过动态路由参数匹配…

如何实现vue

如何实现vue

安装 Vue.js 使用 npm 或 yarn 安装 Vue.js。确保已安装 Node.js 环境。 npm install vue # 或 yarn add vue 创建 Vue 实例 在 HT…

react如何实现插槽

react如何实现插槽

React 实现插槽的方法 React 本身没有直接提供类似 Vue 的插槽(slot)概念,但可以通过以下几种方式实现类似功能: 使用 props.children React 组件可以通过 pr…

java如何实现异步

java如何实现异步

Java实现异步的方法 Java中实现异步编程可以通过多种方式,每种方式适用于不同的场景和需求。以下是常见的实现方法: 使用Thread类 创建新线程执行异步任务是最基础的方式。通过继承Thread…

React如何实现通知

React如何实现通知

React 实现通知的方法 使用状态管理 在 React 组件中通过 useState 或 useReducer 管理通知状态,触发状态更新时显示通知。适合简单场景,无需额外依赖。 import {…

vue如何实现删除

vue如何实现删除

Vue 删除功能的实现方法 在 Vue 中实现删除功能通常涉及以下几个关键步骤: 数据绑定与列表渲染 使用 v-for 指令渲染列表数据,为每个项目添加删除按钮。确保数据存储在 Vue 的 data…