php 의사 정적 실현 에 대한 상세 한 소개

3154 단어 php 의사 정적
1.$에 따라SERVER['PATH_INFO]조작 실현.   예 를 들 어 당신 의 사이트 주 소 는?http://127.0.0.1/show_new.php/look-id-1.shtml 당신 echo$SERVER['PATH_INFO']나 오 는 결 과 는/look-id-1.shtml 입 니 다.완전한 demoidex.php

index.php

$conn=mysql_connect("localhost","root","root")or dir(" ");
mysql_select_db("tb_demo",$conn);
$sql="select * from news";
$res=mysql_query($sql);
header("content-type:text/html;charset=utf-8");
echo "<h1> </h1>";
echo "<a href='add_news.html'> </a><hr/>";
echo "<table>";
echo "<tr><td>id</td><td> </td><td> </td><td> </td></tr>";
while($row=mysql_fetch_assoc($res)){
 echo "<tr><td>{$row['id']}</td><td>{$row['title']}</td><td><a href='show_new.php/look-id-{$row['id']}.shtml'> </a></td><td><a href='#'> </a></td></tr>";
}
// show_news.php?act=look&id={$row['id']}
echo "</table>";
//
mysql_free_result($res);
mysql_close($conn);

shownew.php 페이지

show_new.php

header("Content-type:text/html;charset=utf-8");
$conn=mysql_connect("localhost","root","root");
mysql_select_db("tb_demo",$conn);
mysql_query("set names utf8");
 $pa = $_SERVER['PATH_INFO'];
//$pa    /look-id-1.html
// url
if(preg_match('/^\/(look)-(id)-([\d])\.shtml$/',$pa,$arr)){
 $act = $arr[1]; // look
 $id = $arr[3];  // id
 $sql="select * from news  where id= $id";
 $res=mysql_query($sql);
 $res = mysql_fetch_assoc($res);
 echo $res['title']."<hr>".$res['content'];
}else{
 echo "url ";
}
mysql_close($conn);

위 에 있 는 거 보면 아 실 거 라 고 생각 합 니 다.   사실 이런 식 으로 많이 안 써 요.다음 거 두 번 째 방법 알려 드 렸 잖 아 요.
2.설정.htaccess 에 따라 이 루어 집 니 다.  htaccess 파일 을 어떻게 만 드 는 지 먼저 말씀 드 리 겠 습 니 다.사이트 루트 디 렉 터 리 에 메모 장 을 만 든 다음 에 더 블 클릭 하여 파일 이름 으로 저장 하려 면 htaccess 를 누 르 십시오.저장 형식 은 모든 파일 을 선택 하고 인 코딩 은 utf-8 인 코딩 을 선택 하 십시오.이것 은 디 렉 터 리 에서 이.htaccess 파일 을 보 았 습 니 다.우선 apache 에서 mod 를 엽 니 다.rewrite.so,AllowOverride None  AllowOverride All 로 바 뀌 는 곳 이 두 군데 있 습 니 다.new-id-1.shtml//이 뜻 은 onenew.phop?id=1 여기 있 는.htaccess 는 이렇게 쓸 수 있 습 니 다

<IfModule rewrite_module>
# rewrite
RewriteEngine On
# ,
RewriteRule  one_new-id-(\d+)\.shtml$ one_new.php?id=$1 // $1
RewriteRule  abc_id(\d+)\.html$     error.php
# 404
#ErrorDocument  404  /error.php
</IfModule>
당신 은 onenew.php 페이지 echo$GET[id]에서 id 값 을 출력 할 거 예요.
 설명:이것 은 현재 개인 능력 은 여기까지 밖 에 쓸 수 없습니다.저 는 앞으로 점점 완 선 될 것 입 니 다. 질문 있 으 면 댓 글 남 겨 주세요.

좋은 웹페이지 즐겨찾기