Проблема с настройками ngix чистые ссылки (пресеты изображений)

Главные вкладки

Аватар пользователя liones3000 liones3000 15 июня 2016 в 12:55

Такая проблема, при загрузке изображений не создается папка с пресетами и сами миниатюры? но сам файл заливается на сервер нормально и при открытии в полную величину показывается.
При отключении чистых ссылок всё нормально работает.
Нашел такое решение, но не знаю куда его писать:

<?phpserver {
     listen       80;
     server_name  example.org;

     location / {
         root   /path/to/drupal;
         index  index.php;
         error_page 404 = drupal;
     }

     location drupal {
         rewrite ^(.*)$ /index.php?q=$1 last;
     }
 }?>

вот еще с сайта ngix, но куда мне его добавить? есть доступ к серверу по ssh:

<?phplocation ~ ^/sites/.*/files/styles/ { # For Drupal >= 7
        try_files $uri rewrite;
    }?>

Options +SymLinksIfOwnerMatch прописал и права на папку files 777, mod_rewrite включен вроде - не помогло.

Комментарии

Аватар пользователя Mihail.space Mihail.space 15 июня 2016 в 16:22

у меня такой конфиг для семерки в nginx + php-fpm

server {
server_name www.test.ru;
rewrite (.*) http://test.ru$1;
}

server {
listen 80;
server_name test.ru;

access_log /home/main/domains/test.ru/logs/access.log;
error_log /home/main/domains/test.ru/logs/error.log;

root /home/main/domains/test.ru/html;

location / {
try_files $uri @drupal;
}

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

location @drupal {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_read_timeout 600;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
fastcgi_param QUERY_STRING q=$uri&$args;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param REDIRECT_STATUS 200;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
}
}

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

location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin last;
}

}

Аватар пользователя liones3000 liones3000 28 июня 2016 в 22:51

В общем написал хостеру и дал ссылку на рецепт от ngix - ответа не получил что именно сделали - но заработало.
Думаю это сработало

<?phpserver {
    location / {
        try_files $uri /index.php?$query_string; # For Drupal >= 7
    }

    location @rewrite {
        rewrite ^/(.*)$ /index.php?q=$1;
    }

    # Fighting with Styles? This little gem is amazing.
    location ~ ^/sites/.*/files/styles/ { # For Drupal >= 7
        try_files $uri @rewrite;
    }
}?>

ну или это

<?phpTry with this

location @rewrite {
                rewrite ^/(.*)$ /index.php?q=$1;
        }
instead of

location @rewrite {
                rewrite ^/(.)$ /index.php?q=$1;
        }?>