すでに VPS で Nginx を使用している多くのお客様がいます。Apache から移行したばかりのお客様が遭遇する最も一般的な問題の 1 つは、Nginx での書き換え方法と、Apache の .htaccess を Nginx に変換する方法です。これに関するオンライン記事は数多くあります。 WordPress、discuz、phpcms、ecshop、shopexなどの書き換えも含めてたくさんの情報があるので、それをコピーするだけです。 Nginx 初心者にとってのもう 1 つの一般的な問題は、書き換えルールを取得した後に変更する方法がわからないことです。たとえば、Nginx のサブディレクトリの書き換えを何に変更すればよいのかがわかりません。 / は wordpress、/bbs は discuz、/ は discuz、/blog は wordpress、または / は wordpress、/blog は wordpress など。この書き換えを変更するにはどうすればよいですか?参考までに、FAQ にいくつかの例を載せておきます。
WordPress はサブディレクトリ /blog にインストールされます。
場所 /ブログ/ {
ルート/home/www/vpsee.com;
インデックスindex.phpインデックス.htmlインデックス.htm;
if (!-e $リクエストファイル名) {
^.+/?(/blog/wp-.*) $1 最後に書き換えます。
^.+/?(/blog/.*.php)$ $1 最後に書き換えます。
^(.+)$ /blog/index.php?q=$1 最後に書き換えます。
}
}
Discuz! 7.2 はサブディレクトリ /bbs にインストールされます。
場所 /bbs/ {
ルート/home/www/vpsee.com;
インデックスindex.phpインデックス.htmlインデックス.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 最後に書き換えます。
}
X1.5 はサブディレクトリ /bbs にインストールされています。
場所 /bbs/ {
ルート/home/www/vpsee.com;
インデックスindex.phpインデックス.htmlインデックス.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 $リクエストファイル名) {
404 を返します。
}
}
^([^.]*)/([az]+)-(.+).html$ のような正規表現を理解するのが難しく、この側面に興味がある場合は、いくつかの本を読むことができます。できれば最高の本です。 O'Reilly の『Mastering Regular Expressions』 (中国語版: 『Mastering Regular Expressions』) を参照してください。
記事のソース: www.vpsee.com
【関連記事】
Nginx で一般的に使用される擬似静的ルールは、Discuz およびその他の擬似静的ルールを収集します