在php中我们要做伪静态可以直接利用php来处理url,但这种伪静态不是标准的可以说看起来像水货一样的,只是找个心里舒服了,当然如果要实现真正的伪静态我们可以使用apache Rewrite伪静态模块来实例,下面大家来看看.
php程序实现伪静态url,伪静态方法一:
<?php // localhost/php100/test.php?id|1@action|2 $Php2Html_FileUrl = $_SERVER["REQUEST_URI"]; echo $Php2Html_FileUrl . "<br>"; // /php100/test.php?id|1@action|2 $Php2Html_UrlString = str_replace("?", "", str_replace("/", "", strrchr(strrchr($Php2Html_FileUrl, "/") , "?"))); echo $Php2Html_UrlString . "<br>"; // id|1@action|2 $Php2Html_UrlQueryStrList = explode("@", $Php2Html_UrlString); print_r($Php2Html_UrlQueryStrList); // Array ( [0] => id|1 [1] => action|2 ) echo "<br>"; foreach ($Php2Html_UrlQueryStrList as $Php2Html_UrlQueryStr) { $Php2Html_TmpArray = explode("|", $Php2Html_UrlQueryStr); print_r($Php2Html_TmpArray); // Array ( [0] => id [1] => 1 ) ; Array ( [0] => action [1] => 2 ) echo "<br>"; $_GET[$Php2Html_TmpArray[0]] = $Php2Html_TmpArray[1]; } //echo '假静态:$_GET变量<br />'; print_r($_GET); // Array ( [id|1@action|2] => [id] => 1 [action] => 2 ) echo "<br>"; echo "<hr>"; echo $_GET[id] . "<br>"; // 1 echo $_GET[action]; // 2 ?>
php程序实现伪静态url,伪静态方法二:
<?php // localhost/php100/test.php/1/2 $filename = basename($_SERVER['SCRIPT_NAME']); echo $_SERVER['SCRIPT_NAME'] . "<br>"; // /php100/test.php echo $filename . "<br>"; // test.php if (strtolower($filename) == 'test.php') { if (!emptyempty($_GET[id])) { $id = intval($_GET[id]); echo $id . "<br>"; $action = intval($_GET[action]); echo $action . "<br>"; } else { $nav = $_SERVER['REQUEST_URI']; echo "1:" . $nav . "<br>"; // /php100/test.php/1/2 $script = $_SERVER['SCRIPT_NAME']; echo "2:" . $script . "<br>"; // /php100/test.php $nav = ereg_replace("^$script", "", urldecode($nav)); echo $nav . "<br>"; // /1/2 $vars = explode("/", $nav); print_r($vars); // Array ( [0] => [1] => 1 [2] => 2 ) echo "<br>"; $id = intval($vars[1]); $action = intval($vars[2]); } echo $id . '&' . $action; } ?>
php程序实现伪静态url,伪静态方法三:
<?php function mod_rewrite() { global $_GET; $nav = $_SERVER["REQUEST_URI"]; echo $nav . "<br>"; $script_name = $_SERVER["SCRIPT_NAME"]; echo $script_name . "<br>"; $nav = substr(ereg_replace("^$script_name", "", urldecode($nav)) , 1); echo $nav . "<br>"; $nav = preg_replace("/^.ht(m){1}(l){0,1}$/", "", $nav); //这句是去掉尾部的.html或.htm echo $nav . "<br>"; $vars = explode("/", $nav); print_r($vars); echo "<br>"; for ($i = 0; $i < Count($vars); $i+= 2) { $_GET["$vars[$i]"] = $vars[$i + 1]; } return $_GET; } mod_rewrite(); $year = $_GET["year"]; //结果为'2006' echo $year . "<br>"; $action = $_GET["action"]; //结果为'_add' echo $action; ?>
php程序实现伪静态url,伪静态方法四:
<?php //利用server变量 取得PATH_INFO信息 该例中为 /1,100,8630.html 也就是执行脚本名后面的部分 if (@$path_info = $_SERVER["PATH_INFO"]) { //正则匹配一下参数 if (preg_match("/\/(\d+),(\d+),(\d+)\.html/si", $path_info, $arr_path)) { $gid = intval($arr_path[1]); //取得值 1 $sid = intval($arr_path[2]); //取得值100 $softid = intval($arr_path[3]); //取得值8630 } else die("Path:Error!"); //相当于soft.php?gid=1&sid=100&softid=8630 } else die('Path:Nothing!'); ?>
如果你有服务器权限我觉得还是使用apache伪静态.
一、Apache配置:
进入/etc/httpd/conf/目录下,打开httpd.conf文件,启用rewrite:
# LoadModule rewrite_module modules/mod_rewrite.so 去除前面的 #
启用.htaccess
AllowOverride None 修改为:AllowOverride All
二、Rewrite写法:
服务器有配置文件不可能由我们来改,所以大多情况下要在网站的根目录下建一个.htaccess文件,代码如下:
RewriteEngine on //启动rewrite引擎 RewriteRule ^/index([0-9]*).html$ /index.php?id=$1 //"([0-9]*)" 代表范围 用(.*)代表所有,下同。 RewriteRule ^/index([0-9]*)/$ /index.php?id=$1 [R] //虚拟目录
三、mod_rewrite 规则修正符
1) R 强制外部重定向
2) F 禁用URL,返回403HTTP状态码。
3) G 强制URL为GONE,返回410HTTP状态码。
4) P 强制使用代理转发。
5) L 表明当前规则是最后一条规则,停止分析以后规则的重写。
6) N 重新从第一条规则开始运行重写过程。
7) C 与下一条规则关联
如果规则匹配则正常处理,以下修正符无效
8) T=MIME-type(force MIME type) 强制MIME类型
9) NS 只用于不是内部子请求
10) NC 不区分大小写
11) QSA 追加请求字符串
12) NE 不在输出转义特殊字符 %3d$1 等价于 =$1
文章网址:
随意转载^^但请附上教程地址。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

드림위버 CS6
시각적 웹 개발 도구
