Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Не работают стили после переезда с apache на nginx

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Jonatanail

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Проблема с тем, что перестали работать стили после смены хостинга. Насколько я понимаю проблема в трансляции .htaccess с apache сервера на nginx.
В .htaccess имеются вот такие строки:
...
RewriteRule ^all(.*)-second.css$ /csszip.php?mode=css&s=s [L]
RewriteRule ^all(.*).css$ /csszip.php?mode=css [L]
...
 
Добавил в конфиг nginx (согласно сервиса http://winginx.com/en/htaccess) следующие строки:
location /all {
rewrite ^/all(.*)-second.css$ /csszip.php?mode=css&s=s break;
rewrite ^/all(.*).css$ /csszip.php?mode=css break;
}
 
Но стили все равно не открываются, в коде страницы есть ссылка:
/all-v=1.983.css
при переходе по которой не отрывается файл стиля, а предлагает сохранить файл csszip.php под именем all-v=1.983.css
 
Помогите, пожалуйста, разобраться.

Всего записей: 6 | Зарегистр. 31-03-2017 | Отправлено: 13:58 15-06-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jonatanail

Цитата:
а предлагает сохранить файл csszip.php под именем all-v=1.983.css  

а php под nginx настроили? по умолчанию его нет
 
вот только не для вебпрограмминга это - Nginx

Всего записей: 15098 | Зарегистр. 20-09-2014 | Отправлено: 14:07 15-06-2017 | Исправлено: Mavrikii, 14:08 15-06-2017
Jonatanail

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не очень разбираюсь в вопросе... чего именно нет по-умолчанию.
 
Вообще на данном сервере имеются сайты на php, в основном на WordPress, все работает.
 
Я так понимаю мне нужен правильный кусок кода в конфиг веб-сервера, чтоб заработал скрипт, но я не в зуб ногой в этом и времени сейчас досконально разобраться самому нет.

Всего записей: 6 | Зарегистр. 31-03-2017 | Отправлено: 14:22 15-06-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jonatanail

Цитата:
Вообще на данном сервере имеются сайты на php, в основном на WordPress, все работает.  
 

тогда что именно скачивается по
Цитата:
а предлагает сохранить файл csszip.php под именем all-v=1.983.css  

содержимое - php файла? это говорит о том, что php не обрабатывается.
для nginx должно быть что то такого

Код:
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

но все зависит от системы и используемого php

Всего записей: 15098 | Зарегистр. 20-09-2014 | Отправлено: 14:30 15-06-2017
Jonatanail

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Указал  

Код:
 
location ~ \.php$ {  
        include snippets/fastcgi-php.conf;  
        fastcgi_pass unix:/run/php5-fpm.sock;  
}
 

вообще все перестало работать...

Всего записей: 6 | Зарегистр. 31-03-2017 | Отправлено: 14:52 15-06-2017 | Исправлено: Jonatanail, 14:53 15-06-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jonatanail

Цитата:
вообще все перестало работать

я же сказал, что зависит от многого.

Цитата:
содержимое - php файла?


Всего записей: 15098 | Зарегистр. 20-09-2014 | Отправлено: 15:05 15-06-2017
Jonatanail

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
С параметрами:

Код:
 
 location ~ /\. {
            deny all;
            access_log off;
            log_not_found off;
        }
        location = /favicon.ico {
            log_not_found off;
            access_log off;
        }
        location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
        }
        location /stats/ {
 
            index index.html index.php;
            auth_basic "Members Only";
            auth_basic_user_file /var/www/clients/client3/web31/web/stats/.htpasswd_stats;
        }
        location ^~ /awstats-icon {
            alias /usr/share/awstats/icon;
        }
        location ~ \.php$ {
            try_files /35ab6b4a3aba50889a9ddf5709d3096e.htm @php;
        }
        location @php {
            try_files $uri =404;
            include /etc/nginx/fastcgi_params;
            fastcgi_pass unix:/var/lib/php5-fpm/web31.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_intercept_errors on;
        }
        location / {
                        try_files $uri $uri/ /index.php?$args;
        }
 

Сайт открывается, открываются все ссылки, но не применяются стили. http://сайт-нэйм/index.php тоже кстати не открывается.
 
Добавлено:
Содержимое csszip.php

Код:
 
<?php
ob_start ("ob_gzhandler");
 
 
$file_arr_css[] = 'public/skin/styles/sys/reset.css';
$file_arr_css[] = 'public/skin/styles/sys/sys.css';
$file_arr_css[] = 'public/skin/styles/sys/jquery.fancybox.css';
$file_arr_css[] = 'public/skin/styles/style.css';
$file_arr_css[] = 'public/skin/styles/poll.css';
 
//if($_GET['s']=='s')
    //$file_arr_css[] = 'public/skin/styles/second.css';
 
if(!empty($_GET['mode']))
{
    header('Content-type: text/'.$_GET['mode'].'; charset: windows-1251');
    header ("cache-control: must-revalidate");
    $offset = 30 * 24 * 60 * 60;
    $expire = "expires: " . gmdate ("D, d M Y H:i:s", time() + $offset) . " GMT";
    header ($expire);
 
    if($_GET['mode']=='css')
    {
        foreach($file_arr_css as $val)
        {
            $data .= file_get_contents($val);
        }
 
        $data = compress($data);
    }
 
    echo $data;
}
exit;
function compress($buffer) {
    $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
    $buffer = str_replace(array("\r\n", "\r", "\n", "\t", '  ', '  ', '   ' ,'    '), '', $buffer);
    $buffer = str_replace('../images/', '/public/skin/images/', $buffer);
    return $buffer;
}
?>
 

Всего записей: 6 | Зарегистр. 31-03-2017 | Отправлено: 15:05 15-06-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jonatanail
вы можете прямо ответить на поставленный вопрос?
Цитата:
сохранить файл csszip.php под именем all-v=1.983.css

то есть выдает содержимое php файла - его код??

Всего записей: 15098 | Зарегистр. 20-09-2014 | Отправлено: 15:39 15-06-2017
Jonatanail

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Конечно: при открытии ссылки http://site-name/all-v=1.983.css появляется диалог сохранения файла с именем all-v=1.983.css, в результате нажатия кнопки "Сохранить" в файле(all-v=1.983.css) сохраняется код php-файла csszip.php.
Это браузер Опера, так отрабатывает. Хром и IE выдают 404 ошибку

Всего записей: 6 | Зарегистр. 31-03-2017 | Отправлено: 15:56 15-06-2017 | Исправлено: Jonatanail, 16:01 15-06-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jonatanail

Цитата:
Конечно

замените break в правилах на last
http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html#rewrite
 
ну и проверьте, что php вообще работает

Всего записей: 15098 | Зарегистр. 20-09-2014 | Отправлено: 16:01 15-06-2017 | Исправлено: Mavrikii, 16:02 15-06-2017
Jonatanail

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все заработало, большое спасибо!

Всего записей: 6 | Зарегистр. 31-03-2017 | Отправлено: 16:15 15-06-2017
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Не работают стили после переезда с apache на nginx


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru