настройка nginx + php-fpm
Одна страница
Распечатать
. Редактировалось 2 раза, последний — #1
сделал настройку для nginx.
для нового раздела копируем предложенный код и приводим к виду
т.е меняем
[L,QSA] на last;
RewriteRule на rewrite
в начале пишем
location /pervyi/ {
и закрываем
}
после ^ ставим /
перед stdforum.php и moderate.php тоже /
вроде ничего не забыл
все это дело добавляем в конец server { }
хотя, наверно, разумней правила для разделов ставить в до user.
не забыть
server {
listen *:80;
server_name intbb;
set $host_path "/var/www/intbb/www";
access_log /var/www/log/intbb.access.log main;
error_log /var/www/log/intbb.error.log error;
root "/var/www/intbb/www";
set $bootstrap "index.php";
charset utf-8;
#отключаем обработку запросов фреймворком к несуществующим статичным файлам
location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
try_files $uri =404;
}
# передаем PHP-скрипт серверу FastCGI, прослушивающему адрес 127.0.0.1:9000
#
location ~ \.php$ {
#позволяем перехватывать запросы к несуществующим PHP-файлам
set $fsn $bootstrap;
if (-f $document_root$fastcgi_script_name){
set $fsn $fastcgi_script_name;
}
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fsn;
#PATH_INFO и PATH_TRANSLATED могут быть опущены, но стандарт RFC 3875 определяет для CGI
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fsn;
}
location /users {
rewrite ^/users/profiles/(\d+)\.htm$ /user.php?a=view_user&uid=$1 last;
rewrite ^/users/search/(\w+)-(.+?)/((\d+)\.htm)?$ /user.php?a=search&$1=$2&page=$4 last;
}
location = /users/ {
rewrite ^(.*)$ /user.php?a=view last;
}
location = /users/search_redir.htm {
rewrite ^(.*)$ /user.php?a=search_redir last;
}
location = /users/search {
rewrite ^(.*)$ /user.php?a=search last;
}
location = /users/search/tags.htm {
rewrite ^(.*)$ /user.php?a=all_tags last;
}
location /user {
rewrite ^/user/$ /users/ redirect;
rewrite ^/user/(\w+)(\.htm)?$ /user.php?a=$1& last;
}
location /online {
rewrite ^/online/ /online.php last;
}
location /help {
rewrite ^/help/(.*\.htm)$ /misc.php?a=help&help=$1 last;
}
location = /help/ {
rewrite ^(.*)$ /misc.php?a=help last;
}
location = /address_book/ {
rewrite ^(.*)$ /addrbook.php?a=view last;
}
location /address_book {
rewrite ^/address_book/(\w+).htm /addrbook.php?a=$1 last;
}
location /bookmark {
rewrite ^/bookmark/((delete|mytopics|subscr|unsubscr|favorites).htm)?$ /bookmark.php?a=$2 last;
}
location = /newtopics/ {
rewrite ^(.*)$ /bookmark.php?a=updated last;
}
location = /newtopics/unread.htm {
rewrite ^(.*)$ /bookmark.php?a=unread last;
}
location = /newtopics/unanswered.htm {
rewrite ^(.*)$ /bookmark.php?a=unanswered last;
}
location = /newtopics/rss.htm {
rewrite ^(.*)$ /bookmark.php?a=updated_rss last;
}
location /privmsg {
rewrite ^/privmsg/((\w+)\.htm)?$ /privmsg.php?a=$2 last; rewrite ^/privmsg/(\d+)$ /privmsg/$1/ redirect; rewrite ^/privmsg/(\d+)/$ /privmsg.php?a=thread&id=$1 last; rewrite ^/privmsg/(\d+)/(\w+)\.htm$ /privmsg.php?a=$2&id=$1 last;
}
location /search {
rewrite ^/search/((\w+)\.htm)?$ /search.php?a=$2 last; rewrite ^/search/(\d+)/((\d+)\.htm)?$ /search.php?a=results&id=$1&page=$3 last;
}
location / {
index $bootstrap;
rewrite ^/(.*)/rules\.htm$ /misc.php?a=rules&forum=$1 last; rewrite ^/(.*)/mark_all\.htm$ /misc.php?a=mark_all&forum=$1 last; rewrite category/(\d+)\.htm /index.php?cat=$1 last; if (!-e $request_filename){
rewrite ^/f/up/(\d+)/pr/(\d+)x(\d+)/(\d+\-\w+\.\w+)$ /preview.php?dir=$1&x=$2&y=$3&filename=$4 last;
}
rewrite ^/(\w+)/(\w+)/[01]\.htm$ /$1/$2/ redirect;
}
location /rules {
rewrite ^/rules\.htm$ /misc.php?a=rules last;
}
location /team {
rewrite ^/team\.htm$ /misc.php?a=team last;
}
location /mark_all {
rewrite ^/mark_all\.htm$ /misc.php?a=mark_all last;
}
location /admin {
rewrite ^/admin/$ /admin/settings/view.htm redirect; rewrite ^/admin/(\w+)/(\w+).htm$ /admin.php?m=$1&a=$2 last;
}
location /f {
rewrite ^/f/up/(\d+)/(\d+\-\w+)/(.*)$ /up/$1/$2.dat last;
}
location /about {
rewrite ^/about/((\w+)\.htm)?$ /statpage.php?f=1&a=$2 last;
}
location = /moderate/about/edit_foreword.htm {
rewrite ^(.*)$ /statpage.php?f=1&a=edit last;
}
location ~ /\.ht {
deny all;
}
}
для нового раздела копируем предложенный код и приводим к виду
## Правила разделов
### Раздел первый (тип stdforum)
location /pervyi/ {
rewrite ^/pervyi/((\d+)\.htm)?$ /stdforum.php?f=2&a=view_forum&page=$2 last;
rewrite ^/pervyi/((\w+)\.htm)?$ /stdforum.php?f=2&a=$2 last;
rewrite ^/pervyi/([\w\-\d]+)/((\d+)\.htm)?$ /stdforum.php?f=2&t=$1&a=view_topic&page=$3 last;
rewrite ^/pervyi/([\w\-\d]+)/(\w+)\.htm$ /stdforum.php?f=2&t=$1&a=$2 last;
rewrite ^/pervyi/([\w\-\d]+)/(\w+)\.htm$ /stdforum.php?f=2&t=$1&a=$2 last;
rewrite ^/pervyi/([\w\-\d]+)/post-(\d+)\.htm$ /stdforum.php?f=2&t=$1&a=post&post=$2 last;
rewrite ^/moderate/pervyi/((\w+)/)?(\w+)\.htm$ moderate.php?f=2&a=$3&t=$2 last;
}
т.е меняем
[L,QSA] на last;
RewriteRule на rewrite
в начале пишем
location /pervyi/ {
и закрываем
}
после ^ ставим /
перед stdforum.php и moderate.php тоже /
вроде ничего не забыл
все это дело добавляем в конец server { }
хотя, наверно, разумней правила для разделов ставить в до user.
не забыть
nginx reload
Одна страница
Распечатать У вас нет прав для отправки сообщений в эту тему.