Nous avons déjà de nombreux clients qui utilisent Nginx sur VPS. L'un des problèmes les plus courants rencontrés par les clients qui viennent de passer d'Apache est de savoir comment réécrire sous Nginx et comment convertir .htaccess dans Apache en Nginx. Il existe de nombreux articles en ligne à ce sujet. Il y a beaucoup d'informations, notamment la réécriture sur WordPress, discuz, phpcms, ecshop, shopex, etc., il suffit de les copier. Un autre problème courant pour les novices de Nginx est qu'ils ne savent pas comment modifier les règles de réécriture après les avoir obtenues. Par exemple, par quoi la réécriture du sous-répertoire sous Nginx doit-elle être modifiée ? / est wordpress, /bbs est pour discuz, / est discuz, /blog est pour wordpress, ou / est pour wordpress, et /blog est pour wordpress, etc. Comment changer cette réécriture ? Mettons quelques exemples dans notre FAQ pour référence :
WordPress est installé dans le sous-répertoire /blog :
emplacement /blog/ {
racine /home/www/vpsee.com ;
index index.php index.html index.htm;
si (!-e $request_filename) {
réécrivez ^.+/?(/blog/wp-.*) 1 $ en dernier ;
réécrivez ^.+/?(/blog/.*.php)$ $1 en dernier ;
réécrire ^(.+)$ /blog/index.php?q=$1 en dernier ;
}
}
Discuz! 7.2 est installé dans le sous-répertoire /bbs :
emplacement /bbs/ {
racine /home/www/vpsee.com ;
index index.php index.html index.htm;
réécrire ^/bbs/archiver/((fid|tid)-[w-]+.html)$ /bbs/archiver/index.php?$1 last;
réécrivez ^/bbs/forum-([0-9]+)-[0-9]+).html$ /bbs/forumdisplay.php?fid=$1&page=$2 en dernier ;
réécrire ^/bbs/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ /bbs/viewthread.php?tid=$1&extra=page %3D$3&page=$2 en dernier ;
réécrire ^/bbs/space-(username|uid)-(.+).html$ /bbs/space.php?$1=$2 last;
réécrivez ^/bbs/tag-(.+).html$ /bbs/tag.php?name=$1 last ;
}
Discuz! X1.5 est installé dans le sous-répertoire /bbs :
emplacement /bbs/ {
racine /home/www/vpsee.com ;
index index.php index.html index.htm;
réécrire ^([^.]*)/topic-(.+).html$ $1/portal.php?mod=topic&topic=$2 last;
réécrire ^([^.]*)/article-([0-9]+)-([0-9]+).html$ $1/portal.php?mod=view&aid=$2&page=$3 last;
réécrire ^([^.]*)/forum-(w+)-([0-9]+).html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
réécrire ^([^.]*)/thread-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D 4 $&page=3 $ en dernier ;
réécrire ^([^.]*)/group-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
réécrire ^([^.]*)/space-(username|uid)-(.+).html$ $1/home.php?mod=space&$2=$3 last;
réécrire ^([^.]*)/([az]+)-(.+).html$ $1/$2.php?rewrite=$3 last;
si (!-e $request_filename) {
retourner 404 ;
}
}
Si vous avez des difficultés à comprendre les expressions régulières comme ^([^.]*)/([az]+)-(.+).html$ et que cet aspect vous intéresse, vous pouvez lire quelques livres, de préférence Le meilleur livre devrait être Mastering Regular Expressions par O'Reilly (également disponible en version chinoise : "Mastering Regular Expressions").
Source de l'article : www.vpsee.com