이미 VPS에서 Nginx를 사용하는 고객이 많습니다. Apache에서 방금 전환한 고객이 직면하는 가장 일반적인 문제 중 하나는 Nginx에서 다시 작성하는 방법과 Apache의 .htaccess를 Nginx로 변환하는 방법입니다. WordPress, discuz, phpcms, ecshop, shopex 등에 대한 재작성을 포함하여 많은 정보가 있으므로 복사하기만 하면 됩니다. Nginx 초보자의 또 다른 일반적인 문제는 재작성 규칙을 얻은 후 어떻게 변경해야 하는지 모른다는 것입니다. 예를 들어, Nginx 아래 하위 디렉터리의 재작성은 무엇으로 변경되어야 합니까? /는 wordpress, /bbs는 discuz, /는 discuz, /blog는 wordpress, /는 wordpress, /blog는 wordpress 등입니다. 이 재작성을 어떻게 변경하나요? 참고할 수 있도록 FAQ에 몇 가지 예를 들어 보겠습니다.
WordPress는 /blog 하위 디렉터리에 설치됩니다.
위치 /블로그/ {
루트 /home/www/vpsee.com;
색인 index.php index.html index.htm;
if (!-e $request_filename) {
^.+/?(/blog/wp-.*) $1 마지막으로 다시 작성;
^.+/?(/blog/.*.php)$ $1 마지막으로 다시 작성;
^(.+)$ /blog/index.php?q=$1 마지막으로 다시 작성하세요.
}
}
Discuz! 7.2는 /bbs 하위 디렉터리에 설치됩니다.
위치 /bbs/ {
루트 /home/www/vpsee.com;
색인 index.php index.html index.htm;
^/bbs/archiver/((fid|tid)-[w-]+.html)$ /bbs/archiver/index.php?$1 마지막으로 다시 작성;
^/bbs/forum-([0-9]+)-([0-9]+).html$ /bbs/forumdisplay.php?fid=$1&page=$2 마지막으로 다시 작성하세요.
^/bbs/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ /bbs/viewthread.php?tid=$1&extra=page 다시 작성 마지막 %3D$3&page=$2;
^/bbs/space-(username|uid)-(.+).html$ /bbs/space.php?$1=$2 마지막으로 다시 작성하세요.
^/bbs/tag-(.+).html$ /bbs/tag.php?name=$1 마지막으로 다시 작성하세요.
}
Discuz! X1.5는 /bbs 하위 디렉터리에 설치됩니다.
위치 /bbs/ {
루트 /home/www/vpsee.com;
색인 index.php index.html index.htm;
^([^.]*)/topic-(.+).html$ $1/portal.php?mod=topic&topic=$2 마지막으로 다시 작성하세요.
^([^.]*)/article-([0-9]+)-([0-9]+).html$ $1/portal.php?mod=view&aid=$2&page=$3 마지막으로 다시 작성하세요.
^([^.]*)/forum-(w+)-([0-9]+).html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 마지막으로 다시 작성하세요.
^([^.]*)/thread-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D 다시 작성 마지막 $4&page=$3;
^([^.]*)/group-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=group&fid=$2&page=$3 마지막으로 다시 작성합니다.
^([^.]*)/space-(username|uid)-(.+).html$ $1/home.php?mod=space&$2=$3 last;를 다시 작성하세요.
^([^.]*)/([az]+)-(.+).html$ $1/$2.php?rewrite=$3 마지막으로 다시 작성;
if (!-e $request_filename) {
404를 반환합니다.
}
}
^([^.]*)/([az]+)-(.+).html$과 같은 정규식을 이해하는 데 어려움이 있고 이 측면에 관심이 있다면 몇 가지 책을 읽을 수 있습니다. 가급적 최고의 책을 읽어보세요. O'Reilly의 Mastering Regular Expressions여야 합니다(중국어 버전: "Mastering Regular Expressions"에서도 사용 가능).
기사 출처: www.vpsee.com
【관련기사】
Nginx에서 일반적으로 사용되는 의사 정적 규칙은 Discuz 및 기타 의사 정적 규칙을 수집합니다.