Периодически повторяющаяся ошибка на всех страницах ресурсов, кроме главной, помогите исправить
MODX Revolution 2.7.2-pl
Ошибка ранее возникала и на MODX Revolution 2.7.1-pl
Использую Fenom, файловые шаблоны, чанки, сниппеты, плагины.
Перед возникновением ошибки сбрасывается сессия в админке и возникает ошибка. Раза 2-3 было на версии MODX Revolution 2.7.1-pl, в первй раз на т2.7.2-pl.
Ранее чистил кэш, удаляя все из каталога с кэшем и по прошествии какого-то времени ресурсы становились доступны и ошибка изчезала.
Обновился до версии 2.7.2, ошибки не было, а сейчас опять. Также почистил кэш и через некоторое время пропала ошибка.
Админка работает.
Вот такое выводится на фронтенде — на белом экране у всех ресурсов, кроме главной страницы:
Error 503
Ошибка ранее возникала и на MODX Revolution 2.7.1-pl
Использую Fenom, файловые шаблоны, чанки, сниппеты, плагины.
Перед возникновением ошибки сбрасывается сессия в админке и возникает ошибка. Раза 2-3 было на версии MODX Revolution 2.7.1-pl, в первй раз на т2.7.2-pl.
Ранее чистил кэш, удаляя все из каталога с кэшем и по прошествии какого-то времени ресурсы становились доступны и ошибка изчезала.
Обновился до версии 2.7.2, ошибки не было, а сейчас опять. Также почистил кэш и через некоторое время пропала ошибка.
Админка работает.
Вот такое выводится на фронтенде — на белом экране у всех ресурсов, кроме главной страницы:
Error 503
{$errorMessage}
"; exit(); } /* start output buffering */ ob_start(); /* Create an instance of the modX class */ $modx= new modX(); if (!is_object($modx) || !($modx instanceof modX)) { ob_get_level() && @ob_end_flush(); $errorMessage = 'MODX not installed. Install now?'; @include(MODX_CORE_PATH. 'error/unavailable.include.php'); header($_SERVER['SERVER_PROTOCOL']. ' 503 Service Unavailable'); echo "
Error 503
{$errorMessage}
"; exit(); } /* Set the actual start time */ $modx->startTime= $tstart; /* Initialize the default 'web' context */ $modx->initialize('web'); /* execute the request handler */ if (!MODX_API_MODE) { $modx->handleRequest(); }
Комментарии: 7
У MODX есть глюки с кешем. У меня вот при работе в админке на одном сайте периодически код в кеше плагина задваивается и сайт вылетает. Пока влазить во внутренности MODX по этой проблеме не решился. Админка там только мной и не часто используется. Ладно это лирика.
У Вас почему-то на странице вываливается часть кода файла index.php yadi.sk/i/TsEpmxrJtz5Mzg
По идее это проблемы настройки сервера php, а не MODX. Но почему тогда очистка кеша помогает не понятно.
Сделайте плиз скриншот страницы с ошибкой. И проверьте настройки сервера qaru.site/questions/3368/php-code-is-not-being-executed-instead-code-shows-on-the-page
У Вас почему-то на странице вываливается часть кода файла index.php yadi.sk/i/TsEpmxrJtz5Mzg
По идее это проблемы настройки сервера php, а не MODX. Но почему тогда очистка кеша помогает не понятно.
Сделайте плиз скриншот страницы с ошибкой. И проверьте настройки сервера qaru.site/questions/3368/php-code-is-not-being-executed-instead-code-shows-on-the-page
Про часть кода с index.php я уже понял. Сразу туда заглянул, но не понял почему может быть такое. После твоих разъяснений стало понятно. Хотя возможно не в конфиге сервера дело.
Хотя не исключено, сейчас вспомнил, что на предыдущем сервере такого не было. Но там случался какой-то др. глюк, хостер перенес мой аккаунт на др. сервер. Может на этом сервере теперь уже другой глюк случается.
Вот скриншот:
Хотя не исключено, сейчас вспомнил, что на предыдущем сервере такого не было. Но там случался какой-то др. глюк, хостер перенес мой аккаунт на др. сервер. Может на этом сервере теперь уже другой глюк случается.
Вот скриншот:
Хм… Это не часть кода, а весь код возвращается как HTML yadi.sk/i/YVv8sFEM7hGyFQ
У Вас Apache вообще? В .htaccess что? И что за хостер?
У Вас Apache вообще? В .htaccess что? И что за хостер?
Ну хостера не знаю. А остальные вопросы?
Прям не знаю, толи злиться, толи смеяться. Просят помощи, а нужную инфу не дают.
Прям не знаю, толи злиться, толи смеяться. Просят помощи, а нужную инфу не дают.
Выложил конфигурацию сюда
Вот .htaccess
Вот .htaccess
Options -Indexes
RewriteEngine On
RewriteBase /
# Удаляем ненужные HTTP заголовки
Header unset X-Powered-By
Header unset Pragma
Header unset Expires
Header unset Server
#Header unset Cache-Control: no-store, no-cache, must-revalidate
#Header unset Cache-Control
# Добавляем нужные HTTP заголовки
#Header append Cache-Control: max-age=10800
#Header append Content-Encoding: gzip
Header append Vary: Accept-Encoding,User-Agent
#Header append Vary: Accept-Encoding
# Кэширование статики
#Header set Cache-Control "max-age=2592000"
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
###############################################
#### РЕДИРЕКТЫ #####
###############################################
# Редирект c без слэша на со слэшем
#RewriteCond %{REQUEST_URI} !\?
#RewriteCond %{REQUEST_URI} !\&
#RewriteCond %{REQUEST_URI} !\=
#RewriteCond %{REQUEST_URI} !\.
#RewriteCond %{REQUEST_URI} !\/$
#RewriteRule ^(.*[^\/])$ /$1/ [R=301,L]
# Rewrite domain.com -> domain.com/
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_URI} !\..{1,10}$
#RewriteCond %{REQUEST_URI} !(.*)/$
#RewriteRule ^(.*)$ https://mysite.ru/$1/ [L,R=301]
# Редирект с тега с get параметром
RewriteCond %{QUERY_STRING} ^tag=*
RewriteRule ^(.*)$ /$0? [R=301,L]
# Редирект с безслэша на слэш при пагинации
RewriteCond %{REQUEST_URI} ^(.*/)page/(\d+)$
RewriteRule ^ %1page\/%2\/ [R=301,L]
# Редирект со слэша на без слэша
#RewriteRule ^(.*)\/$ $1 [R=301,L]
### Редирект на правильную страницу при переходе по битой ссылке с неправильным окончанием после точки
### Но вначале 404, если после .html стоит точка и возможно идут какие-то символы, например так: .html.*
#RewriteCond %{REQUEST_URI} ^(.*)\.html\.(.+)*
#RewriteRule ^(.*)$ [R=404]
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_URI} ^(.*)\.html(.+) [OR]
#RewriteCond %{REQUEST_URI} ^(.*)\.htm$ [OR]
#RewriteCond %{REQUEST_URI} ^(.*)\.ht$ [OR]
#RewriteCond %{REQUEST_URI} ^(.*)\.h$ [OR]
#RewriteCond %{REQUEST_URI} ^(.*)\.$
#RewriteRule ^(.*)\.(.*) $1.html [R=301,L]
# Редирект с http на https
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
# Редирект с www.domain.com -> domain.com - используется с плагином SEO Strict URL
# RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
### Редиректы с index.php или index.html на сайт
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)\ HTTP/
RewriteRule .* / [R=301,L]
# Правильно перепишите защищенные запросы, чтобы предотвратить предупреждения SSL-сертификата, например. предотвращать
# https://www.domain.com, когда ваш сертификат разрешает только https://secure.domain.com
#RewriteCond %{SERVER_PORT} !^443
#RewriteRule (.*) https://example-domain-please-change.com/$1 [R=301,L]
# Перенаправить менеджера в определенный домен - не переименовывать файл ht.access
# в папке менеджера, чтобы использовать это правило
#RewriteCond %{HTTP_HOST} !^example-domain-please-change\.com$ [NC]
#RewriteCond %{REQUEST_URI} ^/manager [NC]
#RewriteRule ^(.*)$ https://example-domain-please-change.com/$1 [R=301,L]
# Параметр Friendly URLs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
# Make sure .htc files are served with the proper MIME type, which is critical
# for XP SP2. Un-comment if your host allows htaccess MIME type overrides.
#AddType text/x-component .htc
# If your server is not already configured as such, the following directive
# should be uncommented in order to set PHP's register_globals option to OFF.
# This closes a major security hole that is abused by most XSS (cross-site
# scripting) attacks. For more information: http://php.net/register_globals
#
# To verify that this option has been set to OFF, open the Manager and choose
# Reports -> System Info and then click the phpinfo() link. Do a Find on Page
# for "register_globals". The Local Value should be OFF. If the Master Value
# is OFF then you do not need this directive here.
#
# IF REGISTER_GLOBALS DIRECTIVE CAUSES 500 INTERNAL SERVER ERRORS :
#
# Your server does not allow PHP directives to be set via .htaccess. In that
# case you must make this change in your php.ini file instead. If you are
# using a commercial web host, contact the administrators for assistance in
# doing this. Not all servers allow local php.ini files, and they should
# include all PHP configurations (not just this one), or you will effectively
# reset everything to PHP defaults. Consult www.php.net for more detailed
# information about setting PHP directives.
#php_flag register_globals Off
# For servers that support output compression, you should pick up a bit of
# speed by un-commenting the following lines.
#php_flag zlib.output_compression On
#php_value zlib.output_compression_level 5
# The following directives stop screen flicker in IE on CSS rollovers. If
# needed, un-comment the following rules. When they're in place, you may have
# to do a force-refresh in order to see changes in your designs.
#ExpiresActive On
#ExpiresByType image/gif A2592000
#ExpiresByType image/jpeg A2592000
#ExpiresByType image/png A2592000
#BrowserMatch "MSIE" brokenvary=1
#BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
#BrowserMatch "Opera" !brokenvary
#SetEnvIf brokenvary 1 force-no-vary
Вообщем в чем проблема не разберусь :-(. Когда возникнет ошибка попробуете правила отключать. Например это
### Редиректы с index.php или index.html на сайт
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)\ HTTP/
RewriteRule .* / [R=301,L]
Если вдруг от этого заработает, будет больше инфы куда копать.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.