Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Настройка rewrite в nginx - ЧПУ и галереи highslide  (Прочитано 1606 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Aeooe

  • Автор темы
  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
    • Компания БИТ
Вот конфиг nginx. Ссылки работают, но на сайте подключена галерея highslide. Собственно если вы перейдете на ресурс www.stroym32.ru вы увидете в блоке наши работы бегущую строку - при нажатии на картинку она разворачивается. Но если я делаю рерайт в нджинксе, то эти javascript функции перестают работать. Не могу понять в чем проблема рерайта. Вижу что браузер ругается на строку [15:23:07.485] ReferenceError: hs is not defined @ http://www.stroym32.ru/:28. В которой написан параметр объекта javascript - hs.graphicsDir = 'graphics/';. Я так понял у меня правило написано не верно.


server {
listen 80;
server_name stroym32.ru www.stroym32.ru;
access_log /home/andrey/web/stroym32.ru/logs/nginx_access.log;
error_log /home/andrey/web/stroym32.ru/logs/nginx_error.log;
location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|docx|xlsx)$ {
root /home/andrey/web/stroym32.ru/www/;
index index.html index.php;
access_log off;
expires 30d;
}

location ~ /\.ht {
deny all;
}


location / {
if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?id=$1 break; }
proxy_pass http://127.0.0.1:8081/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 60;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_redirect off;
proxy_set_header Connection close;
proxy_pass_header Content-Type;
proxy_pass_header Content-Disposition;
proxy_pass_header Content-Length;
}
}

И еще вопрос. Как работает это правило?

 if (!-f $request_filename) { rewrite ^(.*)$ /index.php?$1 break; }
« Последнее редактирование: 16 Августа 2012, 15:29:56 от Aeooe »

Оффлайн Aeooe

  • Автор темы
  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
    • Компания БИТ
Re: Настройка rewrite в nginx - ЧПУ и галереи highslide
« Ответ #1 : 19 Августа 2012, 12:19:46 »
up. Проконсультируйте по рерайтам nginx

Оффлайн unimix

  • Активист
  • *
  • Сообщений: 537
    • Просмотр профиля
Re: Настройка rewrite в nginx - ЧПУ и галереи highslide
« Ответ #2 : 24 Августа 2012, 04:19:19 »
Но если я делаю рерайт в нджинксе, то эти javascript функции перестают работать.

Статика раздаётся у тебя отдельным блоком, но не указано расширение для статических файлов JavaScript. Добавь 'js' в нужное место в этой строке:
location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|docx|xlsx)$ {

И еще вопрос. Как работает это правило?
 if (!-f $request_filename) { rewrite ^(.*)$ /index.php?$1 break; }

Собственно, по модулю rewrite: http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html

 

Страница сгенерирована за 0.031 секунд. Запросов: 25.