mediawiki rewrite rules
Dmitri Sintsov
sdv at uniyar.ac.ru
Thu Jun 11 13:22:19 MSD 2009
Здравствуйте, 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?
Версия nginx 0.6.35
из "эстетических" соображений при формировании url не используется
urlencode(),
но вроде бы это не должно влиять на правила, тем более что ? я пытаюсь
заменить на %3F самостоятельно.
С уважением,
Дмитрий
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090611/720aa9ac/attachment.html>
More information about the nginx-ru
mailing list