Nginx + phpmyadmin = не отдается статика?

Привет, хабр!

Про статику вообще вопрос избитый, решений много. Проблема в том, что у меня не отдается именно из прикрученного phpmyadmin, с самого сайта статика отдается.

конфиг:

server {

        listen   80;

        root /home/user/www;

        index index.php index.html index.htm;

        include mime.types;

        server_name localhost;

        #location / {

                # First attempt to serve request as file, then

                # as directory, then fall back to index.html

                #try_files $uri $uri/ /index.php;

        #}

         location ~* ^.+\.(htm|html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$ {

                root /home/user/www/;

        }

        location ~* ^.+\.(htm|html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$ {

                root /usr/share/phpmyadmin/;

        }

         location ^~ /phpmyadmin {

          root /usr/share/phpmyadmin;

          index index.php;

          include fastcgi_params;

          fastcgi_pass 127.0.0.1:9000;

          fastcgi_index index.php;

          fastcgi_param SCRIPT_FILENAME /usr/share$fastcgi_script_name;

        }

        location ~ .php$ {

                fastcgi_pass 127.0.0.1:9000;

                fastcgi_index index.php;

                include fastcgi_params;

                fastcgi_param SCRIPT_FILENAME /home/user/www/$fastcgi_script_name;

        }

        location ~ /\.ht {

                deny all;

        }

}



права на подкаталоги

root@synclexpro:~# ls -lA /usr/share/phpmyadmin/themes

итого 8

drwxrwxrwx 4 www-data root 4096 Мар 29 19:49 darkblue_orange

drwxrwxrwx 4 www-data root 4096 Мар 29 19:50 original



Т.е. ip_site/print.css отдаст, а ip_site/phpmyadmin/print.css -> «access denied»

P.s.

Знаю, что полечить надо знания) уж как умею пока)
  • Вопрос задан
  • 6575 просмотров
Решения вопроса 1
opium
@opium
Просто люблю качественно работать
У вас два одинаковых локейшена, включите здравый смысл, знания тут не нужны, перенесите папку с phpmyadmin в директорию сайта если не умеете вариать nginx.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
tFirma
@tFirma
По-моему, проблема здесь:
location ~* ^.+\.(htm|html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$ {
root /home/user/www/;
}
location ~* ^.+\.(htm|html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$ {
root /usr/share/phpmyadmin/;
}

Т.к.
Чтобы найти location, соответствующий запросу, вначале проверяются location'ы, заданные префиксными строками (префиксные location'ы). Среди них ищется максимальное совпадение. Затем проверяются регулярные выражения, в порядке их следования в конфигурационном файле. Проверка регулярных выражений прекращается после первого же совпадения, и используется соответствующая конфигурация. Если совпадение с регулярным выражением не найдено, то используется конфигурация максимально совпавшего префиксного location'а.
nginx.org/ru/docs/http/ngx_http_core_module.html#location

Т.е. второй location вообще не обрабатывается.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
08 мая 2024, в 10:50
1000 руб./за проект
08 мая 2024, в 10:40
1500 руб./в час