>  기사  >  php教程  >  Apache 서버에서 다시 쓰기를 켠 후 작성 방법 및 규칙

Apache 서버에서 다시 쓰기를 켠 후 작성 방법 및 규칙

黄舟
黄舟원래의
2016-12-21 11:32:101337검색

먼저 URL 재작성 규칙을 작성하는 방법에 대해 이야기해 보겠습니다. 이는 주로 pseudo-static에 사용됩니다. 재작성 규칙은 .htaccess 파일 또는 Apache 구성 파일(httpd.conf 또는 sites_conf 디렉터리의 일부 특정 웹 사이트 구성 파일) 아래에 있습니다. 이 문서에서는 주로 .htacess 파일에 대해 설명합니다(실제로는 모두 유사합니다).

처음에 다음 내용이 포함된 .htacess 파일을 엽니다.

RewriteEngine on

RewriteBase /

RewriteEngine on은 다시 쓰기를 켜는 것을 의미하고, RewriteBase /는 모든 규칙 앞에 "/"가 존재한다는 것을 의미합니다. 이것을 작성한 후에는 모든 후속 규칙의 시작 부분에만 작성하면 됩니다. 규칙 "^"이면 충분하지만 이 규칙은 .htacess 파일에서만 지원된다는 점에 유의해야 합니다. 서버 구성 파일인 경우 이 규칙은 무시되며 작성할 필요가 없습니다.

2

규칙을 작성하기에 앞서, Rewrite에서 디자인한 특수문자의 의미에 대해 먼저 말씀드리겠습니다.

*는 앞의 0개 이상의 문자를 나타냅니다.

+는 앞의 1개 이상의 문자를 나타냅니다.

? 처음 0 또는 1자를 나타냅니다.

^은 문자열의 시작 위치를 나타냅니다.

$는 문자열의 끝 위치를 나타냅니다.

.

문자를 나타내고 다음 문자를 문자 자체로 복원하는 와일드카드 문자입니다. 예를 들어 "+"는 다른 의미가 아닌 "+"를 나타냅니다.

^은 대괄호 안의 'non'을 의미합니다. 예를 들어 [^.]는 와일드카드가 아닌 문자를 나타냅니다.

따라서 "http://www.AAA.com/b.php?id=1"과 같은 URL을 의사정적으로 "http://www"로 변경하려면 .AAA .com/b/1″, 규칙은 다음과 같습니다:

RewriteRule ^b/([0-9]+)/?$/b.php?id= $1 [ L]

위 예에서 ^는 도메인 이름 뒤의 URL의 시작을 나타내고, $는 도메인 이름 뒤의 URL의 끝인 문자열의 끝을 나타냅니다. 도메인 이름. [0-9]는 숫자를 나타냅니다. URL이 존재하는 한 ID 번호가 있어야 하기 때문입니다. 바로 뒤에 있는 +는 하나 이상의 숫자가 나타남을 나타냅니다. [0-9]+가 서로 연결되어 문자가 숫자의 형태로 나타나는 것을 나타내며, 숫자 범위는 0~9이며, 발생 횟수는 1회 또는 여러 번 나타납니다. $는 문자열의 끝을 나타내고, ?$는 루트 도메인 이름 뒤의 도메인 이름의 끝을 나타내며 0 또는 1개의 문자가 있습니다. $1은 메모리에 있는 내용, 즉 첫 번째 괄호 안의 내용을 나타냅니다. [L]은 규칙이 일치하면 중지를 의미하며, 그렇지 않으면 나머지 규칙을 계속 실행해야 합니다. 일반적으로 이 작업을 수행할 필요가 없습니다.

3

의사 정적 외에도 때로는 301 리디렉션을 위해 .htacess를 사용해야 하는 경우도 있습니다. 기호의 의미는 변경되지 않습니다. 예:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^AAA.com$ [NC]

RewriteRule ^(.*) http://www.AAA.com/$1 [R=301,L]

위 내용 규칙은 AAA .com 301 www.AAA.com으로 가십시오. 기호의 의미를 설명할 필요는 없을 것 같습니다.

이 두 가지 규칙을 따르면 웹사이트가 수정되고 URL 구조가 변경되면 어떻게 해야 할까요? 대답은 간단합니다. 다시 쓰기 규칙을 작성하여 .htacess 파일을 사용하여 이전 URL을 새 URL로 301할 수 있습니다.

RewriteRule ^(.*?)/?index.html$/$1? [L,R=301]

이 규칙은 a/index.html 301의 도메인 이름을 a/의 URL로 검색합니다. 규칙은 사라졌습니다. 가장 중요한 것은 모든 사람이 규칙을 배우고 적용해야 한다는 것입니다. 재작성 규칙을 숙지하고 나면 웹사이트의 모든 URL과 반환 코드를 제어할 수 있게 될 것입니다.

위 내용은 Apache 서버가 Rewrite를 켠 후의 작성 방법 및 규칙입니다. 자세한 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.