以下是使用纯PHP代码实现页面伪静态的方法的攻略:
什么是伪静态?
伪静态是指将动态生成的页面通过重写URL的方式,使其看起来像静态文件,从而提高网站的搜索引擎友好度。
实现伪静态的步骤
- 服务器端进行URL重写
- 生成动态页面时去掉.php等文件扩展名
下面分别详细介绍这两个步骤
步骤1:服务器端进行URL重写
在Apache服务器上,可以通过.htaccess文件来进行URL重写。在.htaccess文件中添加以下代码:
RewriteEngine On
RewriteRule ^article/(\d+)$ /article.php?id=$1 [L]
以上代码将把URL网址/article/3 重写为/article.php?id=3
在nginx服务器上,可以通过以下代码实现:
location /article/ {
rewrite ^/article/(\d+)$ /article.php?id=$1 last;
}
以上代码将把URL网址/article/3 重写为/article.php?id=3
步骤2:生成动态页面时去掉.php等文件扩展名
使用纯PHP代码去掉页面文件扩展名非常简单,只需要在文件中添加以下代码:
$uri = $_SERVER['REQUEST_URI'];
$uri = str_replace('.php', '', $uri);
以上代码将把所有请求页面后缀为.php的文件的后缀去掉。
示例1:将/login.php重写为/login
RewriteEngine On
RewriteRule ^login$ /login.php [L]
<?php
$uri = $_SERVER['REQUEST_URI'];
$uri = str_replace('/', '', $uri);
if ($uri == 'login') {
include 'login.php';
}
以上代码将把URL网址/login 重写为/login.php,且访问/login时会自动加载login.php文件
示例2:将/article.php?id=3重写为/article/3
RewriteEngine On
RewriteRule ^article/(\d+)$ /article.php?id=$1 [L]
<?php
$uri = $_SERVER['REQUEST_URI'];
$uri = str_replace('.php', '', $uri);
$uri = explode('/', $uri);
$id = $uri[1];
if (isset($id)) {
include 'article.php';
}
以上代码将把URL网址/article/3 重写为/article.php?id=3,且访问/article/3时会自动加载article.php文件,并将3作为id传入。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用纯php代码实现页面伪静态的方法 - Python技术站