Apache의 mod_rewrite는 상대적으로 강력합니다. 웹 사이트를 구축할 때 이 모듈을 사용하여 의사 정적을 달성할 수 있습니다.
주요 단계는 다음과 같습니다.
1. Apache가 mod_rewrite 기능을 켰는지 확인합니다. php에서 제공하는 phpinfo() 함수를 통해 환경 구성을 확인하고, apache2handler가 켠 모든 모듈이 나열된 "Loaded Modules"를 찾을 수 있습니다. "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가 ".htaccess"를 지원하도록 Apache의 httpd.conf 설정을 수정하면 됩니다. APACHE 디렉터리의 CONF 디렉터리에서 httpd.conf 파일을 열고 다음을 찾아 Options FollowSymLinks AllowOverride None을 찾아 Options FollowSymLinks AllowOverride All로 변경합니다.
3. .htaccess 파일 생성 .htaccess 파일을 생성할 때 직접 생성할 수 없다는 점에 유의하세요. 방법은 메모장의 다른 이름으로 저장 메뉴를 사용하여 파일 이름 창에 ".htaccess"를 입력한 다음 저장을 클릭하세요.
4.rewrite 규칙 학습 새 .htaccess 파일을 생성한 후 파일에 다음 콘텐츠를 작성합니다. #rewriteengine의 RewriteEngine은 RewriteRule([0-9]{1,})을 열거나 닫을 수 있는 재작성 엔진 스위치입니다([0-9]{1,}). $index.php?id=$1 여기서 RewriteRule은 다시 쓰기 규칙으로, 정규 표현식을 사용한 문장입니다. ([0-9]{1,}) $는 끝 표시를 의미합니다. 숫자로 구성되어 있어요! 의사 정적 페이지를 구현하려는 경우 규칙은 다음과 같습니다: RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index의 RewriteEngine. 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 'Your Action value is:' . echo ''; $_GET['ID' ] ?>
브라우저 주소 표시줄에 localhost/page-18.html을 입력합니다. 출력은 다음과 같습니다. 작업 값: 페이지 ID 값: 18
하하, 재작성에 성공했어요!
의사 정적 구성에 대한 개인적인 경험을 공유하겠습니다.
Pseudo-static을 접하기 시작했습니다. 굉장히 마술적이고 어렵다고 생각했는데, 사실 서버에 가상 도메인 이름을 몇 개 더 구성하는 것도 비슷합니다. 실제 액세스 URL로 이동합니다. 세 단계만 거치면
A. 먼저 Apache Apache 모듈에서 vhost_alias_moudle을 활성화합니다
B. 이 파일에서 rewrite를 검색하고 앞에 있는 #
을 제거하세요.C. 이 파일을 수정하여 D:wampbinapacheApache2.2.21confextra 경로 아래의 httpd-vhosts.conf 파일에 추가하고 예시를 따릅니다.
D. C:WindowsSystem32driversetc 경로 아래의 호스트 파일에서 구성합니다
127.0.0.1 localhost.www.dz.cn 서비스를 다시 시작하면 됩니다. 이제 끝났습니다!
*********************************************** ** ***************************** 모두 새해 복 많이 받으세요!
참고: 브라우저에 localhost.www.dz.cn을 입력하여 접속합니다. 공식 웹사이트 주소와 구별하기 위해 localhost를 추가했습니다. 궁금한 사항이 있으시면 저에게 연락주시면 함께 논의하고 발전해 나갈 수 있도록 하겠습니다!
의사 정적 규칙은 모두 .htaccess 파일에 기록됩니다. 의사 정적이 켜져 있으므로 이 파일은 기본적으로 로드됩니다. 이 .htaccess 파일을 작성하려면 정규식을 작성할 수 있어야 합니다. 몇 가지 기본적인 정규식을 배워봅시다!