ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Nginx rewrite for Maxsite CMS


  • To: nginx-ru@xxxxxxxxx
  • Subject: Nginx rewrite for Maxsite CMS
  • From: "Dmitriy_K" <nginx-forum@xxxxxxxx>
  • Date: Tue, 31 Aug 2010 14:28:33 -0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=bXMLs7pMx4yt7lucL3c1T9gQyk4hipSMI9vkJbExs3A=; b=twJD8JbDSLkYekXdcEJJjOAmXT89K4Wx3RcHlkmG1lkNSzVvd5QdxteYWDypH1wvGqdAsVfKe5q/0XLg1L9ELlyWHvRwEt31DUiPUdrDAiCSF2IO41fLj/nAwfe/rwDM;

Завяз с написанием реврайтов для CMS
Maxsite. 
Там даны только примеры реврайтов для
apache (.htaccess), и то весьма невнятно:
[quote]

RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|uploads|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^(.*)$ /index.php?/$1 [L,QSA]


На некотрых серверах вместо строчки:
        RewriteRule . /index.php [L]
можно попробовать указать:
        RewriteRule ^(.*)$ /index.php?/$1 [L,QSA]

Вариант для Nginx с апачем в качестве
надстройки:
RewriteRule ^(.*)$ /index.php?$1 [L,QSA][/quote]
Понимай как хочешь... :-( 
Через поиск никакого рабочего варианта
реврайтов найти не удалось.

Пробовал прописать в конфиге nginx (он у
меня без бэкенда) вариации типа:
[code]
    server {
        listen 80;
        server_name net.open.ru net;

        location / {
            root /site/maxsite;
            index index.php;

            if ($query_string =
!^(index\.php|uploads|robots\.txt|favicon\.ico)) {
                rewrite ^/(.*)$ /index.php?$1 last;
                break;
            }

            if (!-e $request_filename) {
                rewrite ^/(.*)$ /index.php?$1 last;
                break;
            }


#            if ($request_uri ~* ^.*/.*$) {
#                rewrite ^/(\w*)/(.*)$ /$1/index.php?q=$2 last;
#                break;
#            }
        }

        location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico)$ {
                root /site/maxsite;
                #access_log off;
                break;
        }

        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME 
/site/maxsite$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
[/code]
При попытке нажать клавишу первой
страницы CMS "Установить" не происходит
корректная передача параметров другой
странице. В результате, выдаётся пустое
окно, хотя в лог пишется "200". Также
некорректно обрабатываются
несуществующие URL. Выдаётся ошибка
типа:
[code]Table 'maxsite.mso_page' doesn't exist
SELECT `page_id` FROM (`mso_page`) WHERE `page_slug` = 'beliberda' OR
`page_id` = 'beliberda' LIMIT 1
[/code]
К сожалению, в логах информации как
обрабатывались реврайты нет, даже при
установке уровня подробностей "info".

Буду очень благодарен за помощь в
устранении ошибки в правилах
реврайтов.

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,125748,125748#msg-125748


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.