Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Удаленная работа для IT-специалистов
server { listen 80; server_name site.ru www.site.ru; root /var/www/site.ru/html; location / { index index.php index.html index.html; try_files $uri $uri/ =404; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~* \.(jpg|jpeg|gif|png|bmp|js|css)$ { access_log off; expires 30d; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # Редиректы if ($http_host ~* "^www\.(.*)"){ set $rule_0 1; set $bref_0_0 $1; } if ($rule_0 = "1"){ rewrite ^/(.*)$ http://${bref_0_0}/$1 permanent; } if ($uri ~ "^/main/$"){ set $rule_0 1; } if ($rule_0 = "1"){ rewrite ^/.*$ http://site.ru/? permanent; } if ($request_uri ~* "^(.*/)index\.php$") { return 301 $1; } rewrite "^/page/([0-9]+)(/?)$" /index.php?cstart=$1 last; # Сам пост rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html(/?)+$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6&seourl=$6 last; rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html(/?)+$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 last; rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html(/?)+$" /engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 last; rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4&seourl=$4 last; rewrite "^/([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$4&news_page=$2&cstart=$3&seourl=$5&seocat=$1 last; rewrite "^/([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$3&news_page=$2&seourl=$4&seocat=$1 last; rewrite "^/([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /engine/print.php?news_page=$2&newsid=$3&seourl=$4&seocat=$1 last; rewrite "^/([^.]+)/([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$2&seourl=$3&seocat=$1 last; rewrite "^/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$3&news_page=$1&cstart=$2&seourl=$4 last; rewrite "^/page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$2&news_page=$1&seourl=$3 last; rewrite "^/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /engine/print.php?news_page=$1&newsid=$2&seourl=$3 last; rewrite "^/([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$1&seourl=$2 last; # За день rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$" /index.php?year=$1&month=$2&day=$3 last; rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$" /index.php?year=$1&month=$2&day=$3&cstart=$4 last; # За весь месяц rewrite "^/([0-9]{4})/([0-9]{2})(/?)+$" /index.php?year=$1&month=$2 last; rewrite "^/([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$" /index.php?year=$1&month=$2&cstart=$3 last; # Вывод за весь год rewrite "^/([0-9]{4})(/?)+$" /index.php?year=$1 last; rewrite "^/([0-9]{4})/page/([0-9]+)(/?)+$" /index.php?year=$1&cstart=$2 last; # вывод отдельному тегу rewrite "^/tags/([^/]*)(/?)+$" /index.php?do=tags&tag=$1 last; rewrite "^/tags/([^/]*)/page/([0-9]+)(/?)+$" /index.php?do=tags&tag=$1&cstart=$2 last; # поиск по доп полям rewrite "^/xfsearch/(.*)/page/([0-9]+)(/?)+$" /index.php?do=xfsearch&xf=$1&cstart=$2 last; rewrite "^/xfsearch/(.*)(/?)+$" /index.php?do=xfsearch&xf=$1 last; # вывод для отдельного юзера rewrite "^/user/([^/]*)/rss.xml$" /engine/rss.php?subaction=allnews&user=$1 last; rewrite "^/user/([^/]*)(/?)+$" /index.php?subaction=userinfo&user=$1 last; rewrite "^/user/([^/]*)/page/([0-9]+)(/?)+$" /index.php?subaction=userinfo&user=$1&cstart=$2 last; rewrite "^/user/([^/]*)/news(/?)+$" /index.php?subaction=allnews&user=$1 last; rewrite "^/user/([^/]*)/news/page/([0-9]+)(/?)+$" /index.php?subaction=allnews&user=$1&cstart=$2 last; rewrite "^/user/([^/]*)/news/rss.xml(/?)+$" /engine/rss.php?subaction=allnews&user=$1 last; # вывод всех последних новостей rewrite "^/lastnews(/?)+$" /index.php?do=lastnews last; rewrite "^/lastnews/page/([0-9]+)(/?)+$" /index.php?do=lastnews&cstart=$1 last; # вывод в виде каталога rewrite "^/catalog/([^/]*)/rss.xml$" /engine/rss.php?catalog=$1 last; rewrite "^/catalog/([^/]*)(/?)+$" /index.php?catalog=$1 last; rewrite "^/catalog/([^/]*)/page/([0-9]+)(/?)+$" /index.php?catalog=$1&cstart=$2 last; # вывод непрочитанных статей rewrite "^/newposts(/?)+$" /index.php?subaction=newposts last; rewrite "^/newposts/page/([0-9]+)(/?)+$" /index.php?subaction=newposts&cstart=$1 last; # вывод избранных статей rewrite "^/favorites(/?)+$" /index.php?do=favorites last; rewrite "^/favorites/page/([0-9]+)(/?)+$" /index.php?do=favorites&cstart=$1 last; rewrite "^/rules.html$" /index.php?do=rules last; rewrite "^/statistics.html$" /index.php?do=stats last; rewrite "^/addnews.html$" /index.php?do=addnews last; rewrite "^/rss.xml$" /engine/rss.php last; rewrite "^/sitemap.xml$" /uploads/sitemap.xml last; if (!-d $request_filename) { rewrite "^/([^.]+)/page/([0-9]+)(/?)+$" /index.php?do=cat&category=$1&cstart=$2 last; rewrite "^/([^.]+)/?$" /index.php?do=cat&category=$1 last; } if (!-f $request_filename) { rewrite "^/([^.]+)/rss.xml$" /engine/rss.php?do=cat&category=$1 last; rewrite "^/page,([0-9]+),([^/]+).html$" /index.php?do=static&page=$2&news_page=$1 last; rewrite "^/print:([^/]+).html$" /engine/print.php?do=static&page=$1 last; } if (!-f $request_filename) { rewrite "^/([^/]+).html$" /index.php?do=static&page=$1 last; } }
location /test/ { rewrite ^(/test/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 break; }