Установка DLE на nginx+fcgi

G
На сайте с 30.11.2009
Offline
11
1743

Добрый день. Возникла небольшая трудность при установке движка DLE 8.3 на связку nginx+spawn-cgi (apache отсутствует). Все установилось нормально, но захотелось использовать ЧПУ, который в свою очередь использует модуль rewrite. Были найдены rewrite-правила движка dle, адаптированные для использования в моем случае.

    server {
listen 8282;
server_name mysite.ru;
# charset utf-8;

<------>set_real_ip_from 192.168.1.1;
<------>real_ip_header X-Real-IP;

access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log error;

location / {
root /var/www;
index index.html index.php;
}

location ~ /\.ht {
deny<------>all;
}

location ~ \.php$ {
rewrite ^/page/(.*)$ /index.php?cstart=$1 last;
дальше идет куча правила rewrite............................................

if (!-f $request_filename) {^M
rewrite ^/([^/]+).html$ /index.php?do=static&page=$1 last;^M
} fastcgi_pass unix:/var/run/fastcgi_sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
}

Пытаюсь зайти на урл http://mysite.ru/rules.html и в ответ получаю not found, т.е. правила rewrite не работают....

Прошу помощи в решении этого вопроса, благодарен за внимание

M
На сайте с 16.09.2009
Offline
278
#1

Дык какая "куча правил"-то? Может они и виноваты - нет?

Раз уж постите конфиг - давайте целиком - телепаты в отпуске.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
G
На сайте с 30.11.2009
Offline
11
#2

rewrite ^/page/(.*)$ /index.php?cstart=$1 last;


rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)/page,([0-9]+),([0-9]+),(.*).html(/?)+$ /index.php?subaction=showfull&yea
r=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6 last;
rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)/page,([0-9]+),(.*).html(/?)+$ /index.php?subaction=showfull&year=$1&mont
h=$2&day=$3&news_page=$4&news_name=$5 last;
rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)/print:page,([0-9]+),(.*).html(/?)+$ /engine/print.php?subaction=showfull
&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 last;
rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)/(.*).html(/?)+$ /index.php?subaction=showfull&year=$1&month=$2&day=$3&ne
ws_name=$4 last;

rewrite ^/([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$4&news_page=$2&cstart=$3
last;
rewrite ^/([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$3&news_page=$2 last;
rewrite ^/([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ /engine/print.php?news_page=$2&newsid=$3 last;
rewrite ^/([^.]+)/([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$2 last;

rewrite ^/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$3&news_page=$1&cstart=$2 last;
rewrite ^/page,([0-9]+),([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$2&news_page=$1 last;
rewrite ^/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ /engine/print.php?news_page=$1&newsid=$2 last;
rewrite ^/([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$1 last;

rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)(/?)+$ /index.php?year=$1&month=$2&day=$3 last;
rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)/page/([0-9]+)(/?)+$ /index.php?year=$1&month=$2&day=$3&cstart=$4 last;
rewrite ^/([0-9]+)/([0-9]+)(/?)+$ /index.php?year=$1&month=$2 last;
rewrite ^/([0-9]+)/([0-9]+)/page/([0-9]+)(/?)+$ /index.php?year=$1&month=$2&cstart=$3 last;
rewrite ^/([0-9]+)(/?)+$ /index.php?year=$1 last;
rewrite ^/([0-9]+)/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 ^/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/([^/]*)(/?)+$ /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 ^/static/(.*).html(/?)+$ /index.php?do=static&page=$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;

rewrite ^/category/([^.]+)/(.*).html(/?)+$ /index.php?subaction=showfull&news_name=$2 last;
rewrite ^/category/([^.]+)/page/([0-9]+)(/?)+$ /index.php?do=cat&category=$1&cstart=$2 last;
rewrite ^/category/([^.]+)(/?)+$ /index.php?do=cat&category=$1 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;
}

O3
На сайте с 17.11.2008
Offline
127
#3

тоже интересуюсь как реврайт сделать

слежу за темой

M
На сайте с 16.09.2009
Offline
278
#4

Вам надо правила rewtite не в location *.php написать - а в раздел server {}

Himiko
На сайте с 28.08.2008
Offline
560
#5
Xren:
тоже боролся с этим сеня, но у меня апач, отключил тупо в инжиксе отдавать html , пусть апач отдает лучше

Нужно просто верно делать. Если nginx не находит файл, тогда дать попытаться его найти апачу :)

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
[Удален]
#6
Himiko:
Нужно просто верно делать. Если nginx не находит файл, тогда дать попытаться его найти апачу :)

Написали же:

apache отсутствует
Himiko
На сайте с 28.08.2008
Offline
560
#7

Dimazzan, почитайте на какую реплику я ответил.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий