Предположим, что у нас есть frontend на nginx, который отдает статический контент и пересылает остальные запросы на backend (apache). Предположим также, что у нас на одном из virtualhosts используется mod_userdir для пользователей, которым разрешено запускать всяческие скрипты (perl/php etc
(
Read more... )
Comments 11
Reply
1) mod_rewrite карачун
2) при наборе url'a вида www.example.com/~user/dir/ все заработает, а www.example.com/~user/dir - нет.
P.S. Кстати, в твоем примере location ~ /~([a-zA-Z0-9]*)/(.*) можно вполне вынести из под location / - смысла делать его вложенным при такой логике нет.
Reply
index index.php index.pl;
пруфф
Что есть карачун и где там что вложенное?
Reply
Итак, по пунктам:
1) mod_rewrite работать перестает со всеми вытекающими
2) если набрать в браузере www.example.com/~user/dir вместо www.example.com/~user/dir/ то мы получим 404, хотя во всех остальных местах оно будет работать как надо.
Вложение в твоем конфиге:
location / {
root /srv/www/vhosts/www.example.com/;
# Userdirs with "~"
location ~ /~([a-zA-Z0-9]*)/(.*) {
root /home/;
rewrite ^/~([a-zA-Z0-9]*)/(.*)$ /$1/public_html/$2 break;
}
}
location ~ \.(php|pl)(.*)$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_pass http://192.168.13.11:800;
}
Reply
Leave a comment