PHP - 伪静态

1、依靠正则表达式:

<?php

/*
 * PATH_INFO(apache默认支持,nginx默认不支持需要配置)
 * 通过正则表达式去分析伪静态URL地址
 * 原地址:http://localhost/test/php_staticize/newsList.php?type=2&category=1
 * 伪地址:http://localhost/test/php_staticize/newsList.php/2/1.html
 */

//var_dump($_SERVER["PATH_INFO"]);

$pattern = "/^\/(\d+)\/(\d+).html/"; //php正则需要用//括住
$subject = $_SERVER["PATH_INFO"];
if (preg_match($pattern, $subject, $arr)) {
    var_dump($arr); //Array ( [0] => /2/1.html [1] => 2 [2] => 1 )
    $type = $arr[1]; //参数赋值
    $category = $arr[2]; //参数赋值
} else {
    echo ‘URL错误请检查‘;
}

2、WEB服务器rewrite配置

 • apache下rewrite配置

  开启httpd.conf中的LoadModule rewrite_module modules/mod_rewrite.so模块。

  开启httpd.conf中的Include conf/extra/httpd-vhosts.conf模块。

  配置conf/extra/httpd-vhosts.conf文件,既是配置URL的文件。

  配置apache多站点(http://www.cnblogs.com/MrLenon/p/3992380.html)。

  

 • nginx下rewrite配置

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。