mediawiki rewrite rules

Alexey V. Karagodov kav at karagodov.name
Thu Jun 11 14:09:58 MSD 2009


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 самостоятельно.
>
> С уважением,
> Дмитрий
>
>






More information about the nginx-ru mailing list