PHP+APACHE 웹 주소 위조 정적 구현

Apache 의 modrewrite 는 비교적 강력 한 것 으로 사이트 건설 을 할 때 이 모듈 을 통 해 위 정적 을 실현 할 수 있다.
주요 절 차 는 다음 과 같다.
1.아파 치가 mod 를 열 었 는 지 확인rewrite 기능     phop 에서 제공 하 는 phopinfo()함 수 를 통 해 환경 설정 을 볼 수 있 습 니 다."Loaded Modules"를 찾 을 수 있 습 니 다.그 중에서 모든 apache2 handler 가 열 린 모듈 을 보 여 줍 니 다."mod"가 포함 되 어 있다 면.rewrite"는 더 이상 설정 할 필요 가 없습니다."mod"를 열지 않 았 다 면rewrite"는 디 렉 터 리 apache 디 렉 터 리 의"/apache/conf/"를 열 고 httpd.conf 파일 을 찾 은 다음"LoadModule rewrite "를 찾 습 니 다.module",앞의"\#"번 호 를 삭제 하면 이 기능 을 사용 하 는 것 을 표시 합 니 다.    "LoadModule"영역 을 찾 지 못 하면 마지막 줄 에"LoadModule rewrite"를 추가 할 수 있 습 니 다.module ,modules/mod_rewrite.so"(한 줄 독점)이후 apache 서버 를 다시 시작 합 니 다.phpinfo()함 수 를 통 해 환경 설정 을 보면"mod"가 있 습 니 다.rewrite 항목 입 니 다.
 2.apache 서버 에.htaccess 지원    어떻게 자신의 로 컬 APACHE 서버 에"htaccess"를 지원 합 니까?apache 의 httpd.conf 설정 만 수정 하면 APACHE 가'htaccess'를 지원 할 수 있 습 니 다.APACHE 디 렉 터 리 의 CONF 디 렉 터 리 에 있 는 httpd.conf 파일 을 열 고 찾 습 니 다:Options FollowSymLinks AllowOverride None 을 Options FollowSymLinks AllowOverride All 로 바 꾸 면 됩 니 다.
 3.htaccess 파일 만 들 기    htaccess 파일 을 만 들 때 직접 만 들 수 없습니다.방법 은 메모 장 에 있 는 다른 메뉴 로 저장 하고 파일 이름 창 에'htaccess'를 입력 한 다음 저장 을 누 르 는 것 입 니 다.
 4.rewrite 규칙 학습    새.htaccess 파일 을 만 든 후 다음 내용 을 기록 합 니 다:RewriteEngine on\#rewriteengine 은 엔진 스위치 on 을 다시 쓰기 위해 off 를 켜 기 위해 RewriteRule([0-9]{1,})$index.php?id=$1 을 닫 습 니 다.RewriteRule 은 재 작성 규칙 이 고 정규 표현 식 문장 입 니 다.([0-9]{1,})숫자 로 구 성 된 것 을 표시 합 니 다.$는 끝 표 지 를 표시 합 니 다.숫자 로 끝 납 니 다!가짜 정적 페이지 를 구현 하려 면 다음 과 같은 규칙 이 있 습 니 다.RewriteEngine on RewriteRule([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2 는 정규 표현 식 에서([a-zA-Z]{1,})-([0-9]{1,}).html$는 규칙 입 니 다.index.php?action=$1&id=$2 는 바 꿀 형식 입 니 다.$1 은 첫 번 째 괄호 와 일치 하 는 값 을 대표 하고$2 는 두 번 째 괄호 의 값 을 대표 합 니 다.이렇게 유추 합 니 다!PHP 스 크 립 트 테스트:index.php 파일 의 코드 는 다음 과 같 습 니 다.echo'당신 의 Action 값 은:'입 니 다.$GET['action']; echo ‘ '; echo'ID 값:'.$GET['id']; ?>
브 라 우 저 주소 표시 줄 에 입력:localhost/page-18.html 출력 은:당신 의 Action 값 은:page ID 값 은:18 입 니 다.
  허허,개작 성공!
다음은 제 가 위 정적 인 개인 경험 을 설정 하여 공유 하 겠 습 니 다.
의사 정적 에 접촉 하기 시 작 했 습 니 다.신기 하 게 도 어렵 다 는 생각 이 들 었 습 니 다.사실은 간단 합 니 다.서버 에 가상 도 메 인 이름 을 몇 개 더 설정 하 는 것 이 실제 방문 사이트 와 유사 합 니 다.  세 걸음 만.
A.우선 아파 치 에서  Apache 모듈 에서 vhost 오픈alias_moudle
B.httpd.conf 파일 을 수정 하고 이 파일 에서 rewrite 를 검색 합 니 다.  .찾아내다  LoadModule rewrite_module modules/mod_rewrite.so    앞 에 거 빼 고\#
C.이 파일 을 경로 에서 수정 합 니 다.  D:\wamp\bin\apache\아파 치 2.2.1\conf\extra 의 httpd-vhosts.conf 파일 은 예제 에 따라 하 나 를 추가 하면 됩 니 다.

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "d:/wamp/www/dz"
ServerName localhost.www.dz.cn
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
D.경로  C:\\Windows\System 32\drivers\\etc 의 hosts 파일 에 설정 합 니 다.
127.0.0.1 localhost.www.dz.cn   서 비 스 를 다시 시작 하면 됩 니 다.              큰 성 과 를 거두다.
 ****************************************************************************  모두 새해 복 많이 받 으 세 요!
설명:브 라 우 저 입력 중  localhost.www.dz.cn 을 방문 할 수 있 습 니 다.제 가 localhost 를 추가 한 것 은 정식 사이트 와 구별 하기 위해 서 입 니 다.모 르 는 것 이 있 으 면 저 에 게 연락 하 세 요.모두 가 함께 토론 하고 함께 발전 하 는 데 편리 합 니 다!
   위 정적 규칙 은 모두.htaccess 파일 에 적 혀 있 습 니 다.위 정적 이 열 렸 기 때문에 이 파일 을 기본적으로 불 러 옵 니 다.  이.htaccess 파일 을 쓰 려 면 정규 를 쓸 줄 알 아야 합 니 다.정규 기 초 를 배 워 보 세 요!

좋은 웹페이지 즐겨찾기