Как установить OXID v6 без eshop6/source в адресе?

Здравствуйте, подскажите пожалуйста как перевести новый сайт на основной домен.

Мне нужно чтоб он вызывался как старый магазин по адресу shop.pianoservice.com.ua
Сейчас он работает по адресу http://pianoservice.com.ua/eshop6/source

Могу ли я это изменить и как? Или это нужно обращаться в службу поддержки хостинга?

config.inc.php нового сайта:

$this->sShopURL     = 'http://pianoservice.com.ua/eshop6/source'; // eShop base url, required
$this->sSSLShopURL  = null;            // eShop SSL url, optional
$this->sAdminSSLURL = null;            // eShop Admin SSL url, optional
$this->sShopDir     = '/home/pianoser/public_html/eshop6/source';
$this->sCompileDir  = '/home/pianoser/public_html/eshop6/source/tmp';

config.inc.php старого сайта:

$this->sShopURL = ‘http://shop.pianoservice.com.ua’; // eShop base url, required
$this->sSSLShopURL = null; // eShop SSL url, optional
$this->sAdminSSLURL = null; // eShop Admin SSL url, optional
$this->sShopDir = ‘/home/pianoser/www/shop’;
$this->sCompileDir = ‘/home/pianoser/www/shop/tmp’;

Большое спасибо.

нужно перевели web root на ‘/home/pianoser/public_html/eshop6/source’

Большое спасибо за быстрый ответ, Для себя же уточню: нужно в панели хостинга найти закладку Домены и указать путь к нужному адресу.

Вдруг при работе в панели администратора меня выбросило и больше не могу зайти в админ. Просто пишет, что ведутся работы на сайте. Хотя сам сайт загружается и работает. Что можно сделать?

Это была моя вина. Допустил ошибку при адаптации перевода и в uk/lang.php отрезало кусок кода.

Есть еще два вопроса. Первый не работает почта. Письма не отправляются не с Админки не с формы контактов на сайте. В админке нет никаких сообщений, а вот на сайте сообщает “Ошибка отправки. Пожалуйста, проверьте электронный адрес.” Конечно же адрес я ввел.
Второе: при попытке поиска выбрасывает сообщение, что ведутся работы на сайте. И перенаправляет по адресу pianoservice.com.ua. То есть на главный домен.

Проблема с почтой и поиском так и не решена. Может есть какие то мысли? Очень нужна помощь.

С поиском решилось. С почтой никак не получается.
Лог сообщает такие ошибки:
1
[2019-04-19 00:42:47] OXID Logger.ERROR: Could not instantiate mail function. ["[object] (OxidEsales\Eshop\Core\Exception\StandardException(code: 0): Could not instantiate mail function. at /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/UtilsObject.php:231)\n[stacktrace]\n#0 /home/pianoser/public_html/eshop6/source/oxfunctions.php(101): OxidEsales\EshopCommunity\Core\UtilsObject->oxNew(‘OxidEsales\\Esho…’)\n#1 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/Email.php(2072): oxNew(‘OxidEsales\\Esho…’)\n#2 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/Email.php(420): OxidEsales\EshopCommunity\Core\Email->_sendMail()\n#3 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/Email.php(1083): OxidEsales\EshopCommunity\Core\Email->send()\n#4 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Application/Controller/Admin/OrderOverview.php(129): OxidEsales\EshopCommunity\Core\Email->sendSendedNowMail(Object(OxidEsales\Eshop\Application\Model\Order))\n#5 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/Controller/BaseController.php(524): OxidEsales\EshopCommunity\Application\Controller\Admin\OrderOverview->sendorder()\n#6 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/ShopControl.php(332): OxidEsales\EshopCommunity\Core\Controller\BaseController->executeFunction(‘sendorder’)\n#7 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/ShopControl.php(274): OxidEsales\EshopCommunity\Core\ShopControl->executeAction(Object(OxidEsales\Eshop\Application\Controller\Admin\OrderOverview), ‘sendorder’)\n#8 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/ShopControl.php(137): OxidEsales\EshopCommunity\Core\ShopControl->_process(‘OxidEsales\\Esho…’, ‘sendorder’, NULL, NULL)\n#9 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/Oxid.php(26): OxidEsales\EshopCommunity\Core\ShopControl->start()\n#10 /home/pianoser/public_html/eshop6/source/index.php(15): OxidEsales\EshopCommunity\Core\Oxid::run()\n#11 /home/pianoser/public_html/eshop6/source/admin/index.php(11): require_once(’/home/pianoser/…’)\n#12 {main}\n"] []

2
[2019-04-19 00:38:10] OXID Logger.ERROR: Could not instantiate mail function. ["[object] (OxidEsales\Eshop\Core\Exception\StandardException(code: 0): Could not instantiate mail function. at /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/UtilsObject.php:231)\n[stacktrace]\n#0 /home/pianoser/public_html/eshop6/source/oxfunctions.php(101): OxidEsales\EshopCommunity\Core\UtilsObject->oxNew(‘OxidEsales\\Esho…’)\n#1 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/Email.php(2072): oxNew(‘OxidEsales\\Esho…’)\n#2 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/Email.php(420): OxidEsales\EshopCommunity\Core\Email->_sendMail()\n#3 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/Email.php(795): OxidEsales\EshopCommunity\Core\Email->send()\n#4 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Application/Controller/ContactController.php(226): OxidEsales\EshopCommunity\Core\Email->sendContactMail(‘shop.pianoservi…’, ‘\xD0\xBF\xD1\x80\xD0\xBE\xD0\xB1\xD0\xB0 \xD1\x82\xD0\xB5…’, ‘Message from Ro…’)\n#5 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Application/Controller/ContactController.php(103): OxidEsales\EshopCommunity\Application\Controller\ContactController->sendContactMail(‘shop.pianoservi…’, ‘\xD0\xBF\xD1\x80\xD0\xBE\xD0\xB1\xD0\xB0 \xD1\x82\xD0\xB5…’, ‘Message from Ro…’)\n#6 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/Controller/BaseController.php(524): OxidEsales\EshopCommunity\Application\Controller\ContactController->send()\n#7 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/ShopControl.php(332): OxidEsales\EshopCommunity\Core\Controller\BaseController->executeFunction(‘send’)\n#8 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/ShopControl.php(274): OxidEsales\EshopCommunity\Core\ShopControl->executeAction(Object(OxidEsales\Eshop\Application\Controller\ContactController), ‘send’)\n#9 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/ShopControl.php(137): OxidEsales\EshopCommunity\Core\ShopControl->_process(‘OxidEsales\\Esho…’, ‘send’, NULL, NULL)\n#10 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/Oxid.php(26): OxidEsales\EshopCommunity\Core\ShopControl->start()\n#11 /home/pianoser/public_html/eshop6/source/index.php(15): OxidEsales\EshopCommunity\Core\Oxid::run()\n#12 {main}\n"] []

vanilla помогите разобраться. Я использовал $this->iDebug=6, и получил следующее сообщение, но мне говорят что это не то. А где я должен посмотреть сообщение об ошибке?

Could not instantiate mail function.

#0 /home/pianoser/public_html/eshop6/source/oxfunctions.php(101): OxidEsales\EshopCommunity\Core\UtilsObject->oxNew(‘OxidEsales\Esho…’)
#1 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/Email.php(2072): oxNew(‘OxidEsales\Esho…’)
#2 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/Email.php(420): OxidEsales\EshopCommunity\Core\Email->_sendMail()
#3 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/Email.php(759): OxidEsales\EshopCommunity\Core\Email->send()
#4 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Application/Controller/ForgotPasswordController.php(71): OxidEsales\EshopCommunity\Core\Email->sendForgotPwdEmail(‘shop.pianoservi…’)
#5 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/Controller/BaseController.php(524): OxidEsales\EshopCommunity\Application\Controller\ForgotPasswordController->forgotPassword()
#6 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/ShopControl.php(332): OxidEsales\EshopCommunity\Core\Controller\BaseController->executeFunction(‘forgotpassword’)
#7 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/ShopControl.php(274): OxidEsales\EshopCommunity\Core\ShopControl->executeAction(Object(OxidEsales\Eshop\Application\Controller\ForgotPasswordController), ‘forgotpassword’)
#8 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/ShopControl.php(137): OxidEsales\EshopCommunity\Core\ShopControl->_process(‘OxidEsales\Esho…’, ‘forgotpassword’, NULL, NULL)
#9 /home/pianoser/public_html/eshop6/vendor/oxid-esales/oxideshop-ce/source/Core/Oxid.php(26): OxidEsales\EshopCommunity\Core\ShopControl->start()
#10 /home/pianoser/public_html/eshop6/source/index.php(15): OxidEsales\EshopCommunity\Core\Oxid::run()
#11 {main};

Кажется во время у нас никто не работает из-за Пасхи :wink:

Ой, действительно, я это не учел. Христос Воскрес!!!

Я установил новый шоп с новой базой данных, с демофайлами и проблема не исчезла. Письма так и не отправляются

шоп точно чистый, без чужих модулей?
Судя по ошибке, шоп пытается отправить письмо с заголовком “Message from Ro*” но я таких писем не знаю или это ты изменил?
Как текущий шоп высылает письма? через SMTP? если да, то чостинг наверное не поддерживает отправку писем через php и надо там настроить те же данные, что и в текущем шопе

Всем огромное спасибо за помощь. Наконец то разобрался. У меня в shop 4.10 поле “SMTP-сервер” оставалось пустым и все работало. Точно так же я скопировал настройки в shop 6.1.2 Но эта версия уже так не работала. Пока в поле “SMTP-сервер” я не прописал SMTP- исходящей почты хостинга (s8.s-host.com.ua) и все заработало.

Я прописал в менеджере доменов для shop.pianoservice.com.ua адрес папки public_html/eshop6/source. Но с субдоменом “shop” открывается только стартовая страница. А все остальные как http://pianoservice.com.ua/eshop6/source/ru/Banketki/ что я делаю не так?
И еще одно. Как избавиться от показа в адресной строке папок eshop6/source/ ???
Это мало того, что удлиняет ссылку, так еще ломает все SEO. В немецком демо-шопе они не отображаются.

Ребята, кто нибудь объясните человеческим языком. Что и где нужно сделать, чтоб сайт работал под субдоменом ‘shop.pianoservice.com.ua’ и в адресной строке не отображались эти чертовы папки /eshop6/source :hot_face:
Магазин расположен в public_html/eshop6/source/
я пытался что то менять как советуют в этой статье: https://oxidforge.org/en/running-oxid-eshop-subdirectory.html
Но ничего не получается.

если не получается как там написано, то никак не получится

Получилось и даже проще чем описано в вышеупомянутой статье.
В config.inc.php нужно поменять:
$this->sShopURL = ‘http://shop.pianoservice.com.ua’; // eShop base url, required
$this->sSSLShopURL = null; // eShop SSL url, optional
$this->sAdminSSLURL = null; // eShop Admin SSL url, optional
$this->sShopDir = ‘/home/pianoser/public_html/eshop6/source’;
$this->sCompileDir = ‘/home/pianoser/public_html/eshop6/source/tmp’;
В файле .htaccess нужно было просто удалить путь RewriteBase /eshop6/source
Options +FollowSymLinks
RewriteEngine On
RewriteBase / (оставить пустым)

1 Like