Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Lesovsky

Этот файл стиля невозможно сохранить

Рекомендованные сообщения

Приветствую!

Время от времени на разных хостингах при редактировании и последующем сохранения изменений стиля (как стандартных, так и кастомных стилях) вылетает ошибка:

image.png

В Журнале системы появляется сообщение  IPS\Http\Url\Exception::0  с типом template_error

Трассировка:

Скрытый текст

#0 /home/username/public_html/system/Http/Url.php(262): IPS\Http\_Url::componentsFromUrlString('http:\\\\ttptheme...', false)
#1 /home/username/public_html/init.php(820) : eval()'d code(25): IPS\Http\_Url::createFromString('http:\\\\ttptheme...', true, false)
#2 /home/username/public_html/system/Theme/Theme.php(1147): IPS\Http\cms_hook_Url::createFromString('http:\\\\ttptheme...')
#3 /home/username/public_html/system/Theme/Theme.php(847) : eval()'d code(3133): IPS\_Theme->website(true)
#4 /home/username/public_html/system/Theme/SandboxedTemplate.php(61): IPS\Theme\class_core_admin_customization->themeDescription(Object(IPS\Theme))
#5 /home/username/public_html/system/Theme/Theme.php(1133): IPS\Theme\_SandboxedTemplate->__call('themeDescriptio...', Array)
#6 /home/username/public_html/system/Patterns/ActiveRecord.php(335): IPS\_Theme->get__description()
#7 /home/username/public_html/system/Node/Controller.php(216): IPS\Patterns\_ActiveRecord->__get('_description')
#8 /home/username/public_html/system/Node/Controller.php(106): IPS\Node\_Controller->_getRow(6)
#9 /home/username/public_html/system/Helpers/Tree/Tree.php(129): IPS\Node\_Controller->_getRoots(NULL)
#10 /home/username/public_html/system/Node/Controller.php(92): IPS\Helpers\Tree\_Tree->__toString()
#11 /home/username/public_html/applications/core/modules/admin/customization/themes.php(85): IPS\Node\_Controller->manage()
#12 /home/username/public_html/system/Dispatcher/Controller.php(85): IPS\core\modules\admin\customization\_themes->manage()
#13 /home/username/public_html/system/Node/Controller.php(62): IPS\Dispatcher\_Controller->execute()
#14 /home/username/public_html/applications/core/modules/admin/customization/themes.php(49): IPS\Node\_Controller->execute()
#15 /home/username/public_html/system/Dispatcher/Dispatcher.php(152): IPS\core\modules\admin\customization\_themes->execute()
#16 /home/username/public_html/admin/index.php(14): IPS\_Dispatcher->run()
#17 {main}

Как правило хостинг с панелью cPanel, и установленным сертификатом Let's Encrypt, форсированное соединение устанавливаю через .htaccess

Версия IPS 4.4.9.2

Спасибо.

Поделиться сообщением


Ссылка на сообщение

Добрый день! Такое было и в 3.4. Подозреваю - это чтот с куками в браузере. Измененный код не сохраняется... Приходиться делать так: выделяю весь код - копирую и обновляю браузер и после вставляю и сохраняет.

Поделиться сообщением


Ссылка на сообщение
28 минут назад, Lesovsky сказал:

('http:\\\\t

Что-то все-таки идет по http, а не https

Если есть возможность повторить, откройте dev tools в браузере и посмотрите во вкладке Network

Поделиться сообщением


Ссылка на сообщение
32 минуты назад, Атаман сказал:

Добрый день! Такое было и в 3.4. Подозреваю - это чтот с куками в браузере. Измененный код не сохраняется... Приходиться делать так: выделяю весь код - копирую и обновляю браузер и после вставляю и сохраняет.

Ни разу такого не видел при 3.4, куки чистил и обновлял, результата нет.

 

17 минут назад, newbie сказал:

Что-то все-таки идет по http, а не https

Да и очень странно.

 

18 минут назад, newbie сказал:

Если есть возможность повторить, откройте dev tools в браузере и посмотрите во вкладке Network

Стоит замок напротив адреса, используется защищённое соединение.

 

Решение пока простое, это работа в Режиме дизайнера, благо пользователей нет.

Поделиться сообщением


Ссылка на сообщение

Проверил ещё раз через вкладку Network, проблема в POST запросе:

 

Request URL: https://site.com/admin/?adsess=f771740e7e944a27c33c21f3fd43a761&app=core&module=customization&controller=themes&id=8&do=saveTemplate
Request Method: POST
Status Code: 403 
Remote Address: 11.222.333.444:443
Referrer Policy: origin-when-cross-origin

Т.е. запрет на авторизацию запроса.

 

Не понятно.

Поделиться сообщением


Ссылка на сообщение

Обычно в cPanel есть настройка Force HTTPS Redirect для домена:

image.png

В моём случае, у хостера не было этой настройки, пришлось модифицировать .htaccess добавив строчки:

RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

 

В итоге получилось:

Скрытый текст

 


php_flag display_errors 0
AddType application/x-httpd-php71 .php
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.(js|css|jpeg|jpg|gif|png|ico|map)(\?|$) /404error.php [L,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

 

 

 

 

Включил\выключил Режим дизайнера, очистил кеш в браузере, заработало.

 

Поделиться сообщением


Ссылка на сообщение

А ещё, виновником может быть ModSecurity или иной файервол, который отклоняет POST запросы.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...