Welcome! Log In Create A New Profile

Advanced

Правило rewrite для урлоd вида http://example.com/http%3A//...

Posted by lastuser 
Здравствуйте,

Есть сайт на друпале, есть несколько субдоменов, стоит модуль GlobalRedirect, который для урлов вида /node/123456 формирует алиас и делает 301-ый редирект. В случае с одним доменом все ок, но когда требуется редиректить на субдомен, формируется урл вида
http://example.com/http%3A//sub.example.com/page, в итоге - 404. Покопался в модуле, с наскока не понял, где такой урл формируется, решил сделать

location ~* ^/http {
rewrite /http%3A//(.*) http://$1 permanent;
}

но вместо этого все тот же 404, в логах видно, что nginx пытается открыть /<www-docroot>/http:/sub.example.com/index.php вместо /<sub-docroot>/index.php, то есть реврайт неправильный, но что правильно - не понимаю. Буду благодарен, если сообщество подтолкнет на верный путь.



Edited 1 time(s). Last edit at 06/18/2012 02:57PM by lastuser.
Переписал локейшн до вида
location ~* /http.+\.html {
rewrite ^/http:/(.*)$ http://$1 permanent;
}
и все чудесным образом завелось. Осталось только непонятным, почему в rewrite надо было писать ^/http:/, а не ^/http://, но работает - и ладно.
Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 71
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready