자습서를 진행한 후 쿼리 문자열의 첫 번째 키 값에 대한 URL을 다시 작성할 수 있었지만 위에서 설명한 대로 여러 키 값을 처리하는 방법을 사용할 수 있었습니다. 이제 좀 더 육중한 예를 들어 봅시다. 매개 변수를 받는 웹 페이지가 있다고 가정합니다. 이 매개 변수는 페이지에 표시되는 방법과 가져올 콘텐츠를 알려줍니다. 인간은 URL에 대한 쿼리 문자열의 추가 구문을 기억하는 것을 좋아하지 않으며 검색 엔진도 기억하지 않습니다. 두 사람 모두 직선 URL을 선호하는 것 같고, 끝에 는 여분의 비트가 없습니다. 한 하위 디렉터리에 대한 요청을 다른 하위 디렉터리 또는 기본 디렉터리(문서 루트) 예제: http://example.com/folder1/ http://example.com/folder2/ 되거나 http://example.com/. 일반적으로 웹 서버의 DocumentRoot는 URL “/”과 직접 관련이 있습니다. 그러나 종종이 데이터는 실제로 최상위 우선 순위가 아닙니다. 예를 들어 방문자가 사이트를 처음 입력할 때 특정 하위 디렉터리 /about/로 이동하도록 할 수 있습니다. 이 작업은 다음 규칙 집합을 사용하여 수행할 수 있습니다.

특히 mod_rewrite는 RewriteCond 지시문을 평가하기 전에 RewriteRule의 왼쪽을 평가합니다. 따라서 $1은 RewriteCond 지시문이 평가될 때까지 이미 정의됩니다. 이를 통해 동일한 기본 파일 이름을 사용하여 원본(document.html) 및 대상(document.php) 파일의 존재를 테스트할 수 있습니다. 정말 고마워요. 나는 전에 정규 표현에 파악했다, 이는 매우 간단합니다. 그러나 나는 제대로 당신의 튜토리얼여기에 mod_rewrite에 사용하는 법을 배웠습니다. 좋은 물건 남자, 그리고 나는 그것이 내가 큰 물건 Lik-0r 🙂 원인 좋아 아파치에게 이 규칙이 성공하면 더 이상 RewriteRules를 처리하지 말라고 지시합니다. 앞에서 모든 요청에 대해 도메인 이름의 www 부분을 강제로 포함시키는 예제를 살펴보았습니다. 좀 더 많은 예제를 살펴보고 mod_rewrite가 얼마나 유용한지 살펴보겠습니다. mod_rewrite에서 ! 문자는 정규식 전에 사용하여 무효화할 수 있습니다.

즉, 문자열은 나머지 식과 일치하지 않는 경우에만 일치하는 것으로 간주됩니다. 브라우저의 새 URL을 자세히 검사합니다. 다시 쓰기 규칙에 의해 지정된 새 위치에 있는 서버에 있는 파일과 일치합니까? 다시 쓰기 규칙을 보다 광범위하게 만들어야 할 수 있습니다(두 번째 문자열에서 $1을 제거할 수 있음). 이렇게 하면 두 번째 문자열에 지정된 기본 인덱스 페이지로 다시 작성됩니다. 또는 이전 위치에서 새 위치로 파일을 복사해야 할 수 있습니다. 이 가이드에서는 아파치 구성 파일을 수정할 것이므로 적절한 권한이 있는지 확인하십시오. 아파치 모듈 mod_rewrite는 URL 조작을 수행하는 방법을 제공하는 매우 강력하고 정교한 모듈입니다.