ПРОЕКТЫ 


  АРХИВ 


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]

Re: mediawiki rewrite rules




On 11.06.2009, at 13:22, Dmitri Sintsov wrote:

Здравствуйте, Nginx-ru
Предлагаемые правила rewrite для движка mediawiki

http://wiki.nginx.org/NginxMediaWiki

"страдают" тем, что в названиях статей, содержащих знак вопроса, усекаются все символы после знака вопроса:

http://site.ru/Что делать? Чернышевский

превращается в

http://site.ru/Что делать?


Я пытаюсь разработать более корректные правила, но пока что не получается, может найдете пару минут подскажите в чем ошибка?

Все статьи должны передаваться на / index.php?Title= причем знак вопроса в названии статьи пытаюсь экранировать с помощью %3F php скрипты разумеется не преобразовываются.

    location / {
        index index.php;
        error_page 404 = @mediawiki;
    }
         location @mediawiki {
        set $test "A";
        if ($args ~* ^/.*?\?.*) {
            set $test  "${test}Q";
        }
        if ($args ~* ^/.*?\.php.*) {
            set $test  "${test}P";
        }
        if ($test = A) {
            rewrite ^/(.*)? /index.php?title=$1 last;
        }
        if ($test = AQ) {
rewrite ^/([^?]*)(?:\?(.*))? /index.php?title=$1%3F$2 last;
        }
        if ($test = AQP) {
            rewrite ^/(.*)? /$1 last;
        }
    }
         location ~* ^(.)+\.(php)$ {
        proxy_pass                  http://........


proxy pass идет на apache, в нем rewrite не используется.

Нет ли у nginx rewrite debug log, по аналогии с apache?
rewrite_log on;

Версия nginx 0.6.35

из "эстетических" соображений при формировании url не используется urlencode(), но вроде бы это не должно влиять на правила, тем более что ? я пытаюсь заменить на %3F самостоятельно.

С уважением,
Дмитрий






 




Copyright © Lexa Software, 1996-2009.