Re: rewrite-правила для pre-build динамики - странное экранирование
Igor Zakharov
garikz at gmail.com
Thu Jan 31 14:32:47 MSK 2008
Вот кусок моего конфига:
if ($request_method != POST) {
rewrite ^(.*)$ /nonPOST? break;
}
location = /nonPOST {
internal;
if ($request_uri = '/cgi-bin/index.pl') {
rewrite ^(.*)$ /index.pl? last;
}
if ($request_uri = '/cgi-bin/index2.pl?action=do') {
rewrite ^(.*)$ /index2.pl_action_do? last;
}
rewrite ^(.*)$ $request_uri break;
proxy_pass http://backend;
proxy_redirect off;
proxy_set_header Host $host;
}
location = /index.pl {
types { }
default_type text/html;
root /site/apache/share/virthosts/clones.joblist.ru/Data/static/$host;
internal;
}
location = /index2.pl_action_do {
types { }
default_type text/html;
root /site/apache/share/virthosts/clones.joblist.ru/Data/static/$host;
internal;
}
То, что идея в текущем виде не работает (отвечает 405) - это пока отложим :)
Но вот что я заметил
в логах на бэкенде для запросов, не попавших под эти правила:
[31/Jan/2008:10:56:12 +0000] "GET /cgi-bin/index2.pl%3faction=agency
HTTP/1.0"
[31/Jan/2008:11:11:44 +0000] "GET /cgi-bin/story.pl%3faction=success
HTTP/1.0"
конечно же апач говорит 404 на такие запросы. Почему экранируется знако
вопроса? Похожий баг был исправлен в 0.5.35, у меня как раз эта
версия. Это не может быть как-то
связано?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20080131/892efaa0/attachment.html>
More information about the nginx-ru
mailing list