Установка нескольких систем управления контентом на один домен — и такое бывает, и не все могут справиться.
О чем это я?
Все просто. Есть домен, хочу, чтоб основа была вордпрессовская, а интернет-магазин находился в подпапке, вот так — сайт.ru/shop
Многие скажут — это неправильно, надо делать новый домен или хотя бы поддомен типа shop.сайт.ru. Но есть тут нюанс. Новый домен/поддомен придется тащить как отдельный сайт (это тож, конечно, не обязательно, но желательно). Зато при наличии всего на одном домене особо не надо заморачиваться, ну кроме настроек:)
Итак, с чего начинаем?
Ставим на домен ВордПресс, создаем базу, оформляем, подбираем шаблончики.
Через фтп создаем папку shop и туда заливаем дистриб магаза, ну того же опенкарта. Проходим все этапы установки, с базы данных. Обязательно в .htaccess прописываем RewriteBase /shop/
Опа, все заработало. Чистенькие, не настроенные сайты, а это иногда та еще головная боль. Хочется залить уже готовый, настроенный магаз в подпапку. И это можно сделать, но с небольшими уточнениями.
Ставим ВордПресс, настраиваем.
Через фтп создаем папку shop
Берем наш уже готовый магаз, например с другого домена. Начинаем копать конфиги. Конечно, обязательно в .htaccess прописываем RewriteBase /shop/
И тут могут быть засады.
Создаем новую базу БД на серваке — БазаШоп. Заливаем туда базу с рабочего магаза.
Все пути и названия буду писать, не привязано к реальному проекты.
Открываем редактором кода файлы config.php
В Опенкарте их два! В корне и в папке admin, и правим их.
Меняем все пути, добавляя после имени сайта shop/
В примере — зеленым выделено то, что было, красным то, что новое добавилось
ВАЖНО! Если сайт переезжает с http на https — везде поменять на https !!!
config.php
<?php
// HTTP
define(‘HTTP_SERVER’, ‘https://сайт/shop/‘);
// HTTPS
define(‘HTTPS_SERVER’, ‘https://сайт/shop/‘);
// DIR
define(‘DIR_APPLICATION’, ‘/var/…/www/сайт/shop/catalog/’);
define(‘DIR_SYSTEM’, ‘/var/…/www/сайт/shop/system/’);
define(‘DIR_LANGUAGE’, ‘/var/…/www/сайт/shop/catalog/language/’);
define(‘DIR_TEMPLATE’, ‘/var/…/www/сайт/shop/catalog/view/theme/’);
define(‘DIR_CONFIG’, ‘/var/…/www/сайт/shop/system/config/’);
define(‘DIR_IMAGE’, ‘/var/…/www/сайт/shop/image/’);
define(‘DIR_CACHE’, ‘/var/…/www/сайт/shop/system/storage/cache/’);
define(‘DIR_DOWNLOAD’, ‘/var/…/www/сайт/shop/system/storage/download/’);
define(‘DIR_LOGS’, ‘/var/…/www/сайт/shop/system/storage/logs/’);
define(‘DIR_MODIFICATION’, ‘/var/…/www/сайт/shop/system/storage/modification/’);
define(‘DIR_UPLOAD’, ‘/var/…/www/сайт/shop/system/storage/upload/’);
// DB
define(‘DB_DRIVER’, ‘чтобыло’);
define(‘DB_HOSTNAME’, ‘чтобыло’);
define(‘DB_USERNAME’, ‘Имя_Пользователя_БД‘);
define(‘DB_PASSWORD’, ‘Пароль_БД‘);
define(‘DB_DATABASE’, ‘БазаШоп‘);
define(‘DB_PORT’, ‘чтобыло’);
define(‘DB_PREFIX’, ‘чтобыло’);
admin/config.php
<?php
// HTTP
define(‘HTTP_SERVER’, ‘https://сайт/shop/admin/’);
define(‘HTTP_CATALOG’, ‘https://сайт/shop/‘);
// HTTPS
define(‘HTTPS_SERVER’, ‘https://сайт/shop/admin/’);
define(‘HTTPS_CATALOG’, ‘https://сайт/shop/‘);
// DIR
define(‘DIR_APPLICATION’, ‘/var/…/www/сайт/shop/admin/’);
define(‘DIR_SYSTEM’, ‘/var/…/www/сайт/shop/system/’);
define(‘DIR_LANGUAGE’, ‘/var/…/www/сайт/shop/admin/language/’);
define(‘DIR_TEMPLATE’, ‘/var/…/www/сайт/shop/admin/view/template/’);
define(‘DIR_CONFIG’, ‘/var/…/www/сайт/shop/system/config/’);
define(‘DIR_IMAGE’, ‘/var/…/www/сайт/shop/image/’);
define(‘DIR_CACHE’, ‘/var/…/www/сайт/shop/system/storage/cache/’);
define(‘DIR_DOWNLOAD’, ‘/var/…/www/сайт/shop/system/storage/download/’);
define(‘DIR_LOGS’, ‘/var/…/www/сайт/shop/system/storage/logs/’);
define(‘DIR_MODIFICATION’, ‘/var/…/www/сайт/shop/system/storage/modification/’);
define(‘DIR_UPLOAD’, ‘/var/…/www/сайт/shop/system/storage/upload/’);
define(‘DIR_CATALOG’, ‘/var/…/www/сайт/shop/catalog/’);
// DB
define(‘DB_DRIVER’, ‘чтобыло’);
define(‘DB_HOSTNAME’, ‘чтобыло’);
define(‘DB_USERNAME’, ‘Имя_Пользователя_БД‘);
define(‘DB_PASSWORD’, ‘Пароль_БД‘);
define(‘DB_DATABASE’, ‘БазаШоп‘);
define(‘DB_PORT’, ‘чтобыло’);
define(‘DB_PREFIX’, ‘чтобыло’);
Какие ошибки могут быть? У меня, например, сайт заработал не сразу.
Сначала выскочила ошибка в строке 21 index.php
Не понял, покопал сеть. Типа что-то с относительными и абсолютными путями.
Внимательно посмотрел, а сайт по фтп тупо до конца не докачался, и файлы не все залились из папки admin
Закачал. Сайт магаза сразу заработал. Вхожу в админку, а мне шиш с маслом.
«Это соединение не защищено… и бла-бла»
После ввода логина\пароля выкидывает снова на ввод пароля и так бесконечный редирект:) Кнопки игнорировать не помогают, смена браузера не помогает. Ошибки никакие другие не выдает.
Почти готов был сдаться:) но умные люди подсказали.
Я прописал в конфигах где HTTP_SERVER и HTTP_CATALOG — адреса http
а где HTTPS_SERVER и HTTPS_CATALOG — адреса https
Логично вроде бы, а оказалось, что надо везде https
Как только обновил, сразу зашел в админку магаза
Вот и все. Ну почти, настройкой пока не занимался, надо будет смотреть, да и с сайтмап надо решить небольшую головоломку, но вроде ответ я уже нашел.
Продолжу историю, как доделаю. Думаю косяки еще вылезут.