Доброго времени суток.
До того как я установил на сервер NGINX, у меня на сервере был только Apache и соотвественно правила писались в htaccess
RewriteRule photos/(.+)$ modules/qplboard/image_db/$1
После того как я пересел на NGINX, я не смог написать валидный конфиг, чтобы фотографии отдавал не Apache, а NGINX. Речь идет о фотографиях, URL которых реврайтился через htaccess.
Nginx vhost.confserver {
access_log off;
error_log logs/vhost-error_log warn;
listen 80;
server_name mydomain.ru www.mydomain.ru;
location ~* \.(gif|jpg|jpeg|png|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid)$ {
root /home/username/public_html/mydomain.ru;
expires 14d;
}
location / {
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
# you can increase proxy_buffers here to suppress "an upstream response
# is buffered to a temporary file" warning
proxy_buffers 16 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_connect_timeout 30s;
proxy_redirect http://www.mydomain.ru:8080 http://www.mydomain.ru;
proxy_redirect http://mydomain.ru:8080 http://mydomain.ru;
proxy_pass http://192.168.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Полный пусть до фотографий:
/home/username/public_html/mydomain.ru/modules/qplboard/image_db/
При таком правиле запросы идут на Apachelocation ~ ^/photos/(.*)$ {
rewrite ^/photos/(.+)$ /mydomain.ru/modules/qplboard/image_db/$1;
}
tail -f mydomain.ru
109.12.218.212 - - [15/Apr/2014:00:12:40 +0500] "GET /photos/8952_1_b.JPG HTTP/1.0" 304 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36"
Данное правило я писал сразу после
server_name При такой конфигурации запросы идут только на NGINX, фотографии не открываются.
404 Not Found
nginx/1.4.7
location ~ ^/photos/(.*)$ {
root /mydomain.ru/modules/qplboard/image_db;
access_log off;
expires 14d;
}
Буду очень признателе вам, если поможете мне написать правило, при котором при обращении к
www.mydomain.ru/photos/8952_1_b.JPG
фотографии NGINX будет отдавать из папки /home/username/public_html/mydomain.ru/modules/qplboard/image_db/
Для остальных картинок подходит правило, которое уже описано в vhost.conf