Ya tenemos muchos clientes que utilizan Nginx en VPS. Uno de los problemas más comunes que encuentran los clientes que acaban de transferirse de Apache es cómo reescribir en Nginx y cómo convertir .htaccess en Apache a Nginx. Hay mucha información, incluida la reescritura en WordPress, discuz, phpcms, ecshop, shopex, etc., simplemente cópiela. Otro problema común para los principiantes de Nginx es que no saben cómo cambiar las reglas de reescritura después de obtenerlas. Por ejemplo, ¿a qué se debe cambiar la reescritura del subdirectorio en Nginx? / es wordpress, /bbs es para discuz, / es discuz, /blog es para wordpress o / es para wordpress y /blog es para wordpress, etc. ¿Cómo cambiar esta reescritura? Pongamos algunos ejemplos en nuestras preguntas frecuentes como referencia:
WordPress se instala en el subdirectorio /blog:
ubicación /blog/ {
raíz /home/www/vpsee.com;
índice index.php index.html index.htm;
if (!-e $nombre_archivo_solicitud) {
reescribe ^.+/?(/blog/wp-.*) $1 al final;
reescribe ^.+/?(/blog/.*.php)$ $1 al final;
reescribe ^(.+)$ /blog/index.php?q=$1 al final;
}
}
Discuz! 7.2 se instala en el subdirectorio /bbs:
ubicación /bbs/ {
raíz /home/www/vpsee.com;
índice index.php index.html index.htm;
reescribir ^/bbs/archiver/((fid|tid)-[w-]+.html)$ /bbs/archiver/index.php?$1 último;
reescribir ^/bbs/forum-([0-9]+)-([0-9]+).html$ /bbs/forumdisplay.php?fid=$1&page=$2 último;
reescribir ^/bbs/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ /bbs/viewthread.php?tid=$1&extra=page %3D$3&page=$2 último;
reescribir ^/bbs/space-(nombre de usuario|uid)-(.+).html$ /bbs/space.php?$1=$2 último;
reescribir ^/bbs/tag-(.+).html$ /bbs/tag.php?name=$1 último;
}
Discuz! X1.5 se instala en el subdirectorio /bbs:
ubicación /bbs/ {
raíz /home/www/vpsee.com;
índice index.php index.html index.htm;
reescribir ^([^.]*)/topic-(.+).html$ $1/portal.php?mod=topic&topic=$2 último;
reescribir ^([^.]*)/article-([0-9]+)-([0-9]+).html$ $1/portal.php?mod=view&aid=$2&page=$3 último;
reescribir ^([^.]*)/forum-(w+)-([0-9]+).html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 último;
reescribir ^([^.]*)/thread-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D $4&página=$3 último;
reescribe ^([^.]*)/group-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=group&fid=$2&page=$3 último;
reescribir ^([^.]*)/space-(username|uid)-(.+).html$ $1/home.php?mod=space&$2=$3 último;
reescribir ^([^.]*)/([az]+)-(.+).html$ $1/$2.php?rewrite=$3 último;
if (!-e $nombre_archivo_solicitud) {
devolver 404;
}
}
Si tiene dificultades para comprender expresiones regulares como ^([^.]*)/([az]+)-(.+).html$ y está interesado en este aspecto, puede leer algunos libros, preferiblemente el mejor libro. debería ser Mastering Regular Expressions de O'Reilly (también disponible en versión china: "Mastering Regular Expressions").
Fuente del artículo: www.vpsee.com