У нас уже есть много клиентов, использующих Nginx на VPS. Одна из наиболее частых проблем, с которыми сталкиваются клиенты, только что перешедшие с Apache, — это как переписать под Nginx и как конвертировать .htaccess в Apache в 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 последним;
перепишите ^([^.]*)/([az]+)-(.+).html$ $1/$2.php?rewrite=$3 последним;
if (!-e $request_filename) {
вернуть 404;
}
}
Если у вас возникли трудности с пониманием регулярных выражений, таких как ^([^.]*)/([az]+)-(.+).html$, и вас интересует этот аспект, вы можете прочитать несколько книг, желательно «Лучшая книга». должен быть «Освоение регулярных выражений» О'Рейли (также доступно в китайской версии: «Освоение регулярных выражений»).
Источник статьи: www.vpsee.com .
【Статьи по теме】
Часто используемые псевдостатические правила Nginx собирают Discuz и другие псевдостатические правила.