У меня есть веб-сайт, размещенный в Hostgator Cloud (под управлением ОС Linux Cent, если это имеет значение), и он создан с использованием Codeigniter.
Я использую текстовый редактор TinyMCE с Openmanager плагин для загрузки изображений.
Моя структура каталогов установки выглядит примерно так:
.
├── application
| ├── controllers
| ├── models
| └── views
| └── desktop
| └── add_question.php
├── editor
| └── plugins
| └── openmanager
| ├── editor_plugin.js
| ├── editor_plugin_src.js
| ├── encodeexplorer.php
| ├── index.php
| ├── assets
| ├── langs
| └── php
└── upload
├── index.php
├── equations
| ├── imageCapture.php
| └── img
└── images
└── thumbs
В application/views/desktop/add_question.php
Я инициализировал свой экземпляр tinyMCE с tinyMCE.init и настроил openmanager следующим образом:
open_manager_upload_path: '../../../upload/',
Теперь, когда я пытаюсь использовать плагин, мне показывают этот экран —
Посоветовавшись с Hostgator, они показали мне эту запись в журнале ошибок со своей стороны —
[error] [client 64.233.173.158]
ModSecurity: Access denied with code 406 (phase 2).
Match of "rx (/products/index\\\\.php\\\\?gallery=|connector=\\\\.\\\\./\\\\.\\\\./connectors|/admin/(?:structure/views/|[a-z]+/(?:edit|add))|/phpthumb\\\\.php\\\\?((?:w|h)=[0-9]+&)?((?:w|h)=[0-9]+&)?src=\\\\.\\\\./.*(?:pics|uploads|images)|/site-(?:builder|content)/|/node/(?:[0-9]+/( ..."against "REQUEST_URI" required.
[file "/opt/mod_security/10_asl_rules.conf"] [line "199"] [id "340007"] [rev "42"] [msg "Generic Path Recursion denied"] [data "/../"] [severity "CRITICAL"] [hostname "example.com"] [uri "/editor/plugins/openmanager/index.php"] [unique_id "WCSMh2yz9j4AAakC028AAAPw"]
Я не могу правильно расшифровать эту ошибку. Что именно вызывает эту ошибку? Плагин и все приложение корректно работают на моем локальном хосте и другой учетной записи общего хостинга, которая у меня есть, но на этом Hostgator он просто не работает!
Создайте файл «.htaccess» со следующим содержимым и загрузите его.
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
ИЛИ ЖЕ
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Настройте правило перезаписи согласно вашему требованию.
Может быть, это поможет.
Других решений пока нет …