Já temos muitos clientes usando Nginx no VPS. Um dos problemas mais comuns encontrados pelos clientes que acabaram de transferir do Apache é como reescrever no Nginx e como converter .htaccess no Apache para Nginx. Há muitas informações, incluindo reescrita em WordPress, discuz, phpcms, ecshop, shopex, etc., basta copiá-las. Outro problema comum para novatos em Nginx é que eles não sabem como alterar as regras de reescrita depois de obtê-las. Por exemplo, para que deve ser alterada a reescrita do subdiretório no Nginx? / é wordpress, /bbs é para discuz, / é discuz, /blog é para wordpress ou / é para wordpress e /blog é para wordpress, etc. Vamos colocar alguns exemplos em nosso FAQ para referência:
O WordPress está instalado no subdiretório /blog:
localização /blog/ {
raiz /home/www/vpsee.com;
índice index.php index.html index.htm;
if (!-e $request_filename) {
reescrever ^.+/?(/blog/wp-.*) $1 último;
reescrever ^.+/?(/blog/.*.php)$ $1 último;
reescrever ^(.+)$ /blog/index.php?q=$1 último;
}
}
O Discuz! 7.2 está instalado no subdiretório /bbs:
localização /bbs/ {
raiz /home/www/vpsee.com;
índice index.php index.html index.htm;
reescrever ^/bbs/archiver/((fid|tid)-[w-]+.html)$ /bbs/archiver/index.php?$1 último;
reescrever ^/bbs/forum-([0-9]+)-([0-9]+).html$ /bbs/forumdisplay.php?fid=$1&page=$2 último;
reescrever ^/bbs/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ /bbs/viewthread.php?tid=$1&extra=page %3D$3&page=$2 último;
reescrever ^/bbs/space-(nomedeusuário|uid)-(.+).html$ /bbs/space.php?$1=$2 último;
reescrever ^/bbs/tag-(.+).html$ /bbs/tag.php?name=$1 último;
}
Discuz! X1.5 está instalado no subdiretório /bbs:
localização /bbs/ {
raiz /home/www/vpsee.com;
índice index.php index.html index.htm;
reescrever ^([^.]*)/topic-(.+).html$ $1/portal.php?mod=topic&topic=$2 último;
reescrever ^([^.]*)/article-([0-9]+)-([0-9]+).html$ $1/portal.php?mod=view&aid=$2&page=$3 último;
reescrever ^([^.]*)/forum-(w+)-([0-9]+).html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 último;
reescrever ^([^.]*)/thread-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D $4&página=$3 último;
reescrever ^([^.]*)/group-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=group&fid=$2&page=$3 último;
reescrever ^([^.]*)/space-(username|uid)-(.+).html$ $1/home.php?mod=space&$2=$3 último;
reescrever ^([^.]*)/([az]+)-(.+).html$ $1/$2.php?rewrite=$3 último;
if (!-e $request_filename) {
retornar 404;
}
}
Se você tem dificuldade em entender expressões regulares como ^([^.]*)/([az]+)-(.+).html$ e está interessado neste aspecto, você pode ler alguns livros, de preferência O melhor livro deveria ser Mastering Regular Expressions de O'Reilly (também disponível na versão chinesa: "Mastering Regular Expressions").
Fonte do artigo: www.vpsee.com
【Artigos relacionados】
Regras pseudoestáticas comumente usadas pelo Nginx coletam Discuz e outras regras pseudoestáticas