Создание админки для Magento, которая называется admin.magentostore.com (не / admin) - PullRequest
3 голосов
/ 04 ноября 2010

Я использую некоторые серверы с балансировкой нагрузки, и у меня есть требование, чтобы все мои задачи администратора относились к одному серверу. Мы определили, что лучший способ сделать это - запись DNS для администратора. указать на наш основной сервер.

Проблема, с которой я сталкиваюсь, заключается в том, что все пользовательские URL-адреса администратора все еще magentostore.com/admin, тогда как мне нужен admin.magentostore.com

Есть идеи или кто-нибудь сделал что-то подобное?

Спасибо!

Ответы [ 3 ]

5 голосов
/ 04 ноября 2010

Попробуйте сначала в среде разработки избавиться от проблем с живым сайтом!

Это можно сделать, выполнив следующие действия:

  1. Вам нужно определить базовый URL только для представления хранилища администратора, после ввода / admin в адресной строке вы будете перенаправлены на базовый URL этого адреса.Для этого вам нужно установить опцию конфигурации базового URL в admin для значений по умолчанию http://admin.yourdomain.com, а для каждого веб-сайта вам нужно указать свой собственный базовый URL (например, http://yourdomain.com).Это можно сделать через интерфейс администратора или файл config.xml.Во втором случае вам нужно удалить все записи из таблицы core_config_data, которые находятся по этим путям: web/secure/base_url и web/unsecure/base_url.

    <config>
         <default>
             <admin>
                 <web>
                     <unsecure> <!-- defining HTTP url options for admin store -->
                         <base_url>http://admin.yourdomain.com/</base_url>
                     </unsecure>
                     <secure> <!-- defining HTTPS url options for admin store -->
                         <base_url>https://admin.yourdomain.com/</base_url>
                     </secure>
                 </web>
             </admin>
         </default>
         <websites>
             <website_code1>
                 <web>
                     <unsecure> <!-- defining HTTP url options for admin store -->
                         <base_url>http://yourdomain1.com/</base_url>
                     </unsecure>
                     <secure> <!-- defining HTTPS url options for admin store -->
                         <base_url>https://yourdomain1.com/</base_url>
                     </secure>
                 </web>
             </website_code1>
             <website_code2>
                 <web>
                     <unsecure> <!-- defining HTTP url options for admin store -->
                         <base_url>http://yourdomain1.com/</base_url>
                     </unsecure>
                     <secure> <!-- defining HTTPS url options for admin store -->
                         <base_url>https://yourdomain1.com/</base_url>
                     </secure>
                 </web>
             </website_code2>
         </websites>
    </config>
    
  2. Для автоматического применения adminпредставление хранилища, вам нужно создать правило .htaccess для Magento, которое установит код хранилища для его запуска в admin и создаст перенаправление в / admin / путь запроса, если он не определен.Чтобы сделать это возможным, необходимо определить такие правила:

    SetEnvIf Host ^admin\.yourdomain\.com$ MAGE_RUN_CODE=admin
    RewriteEngine On
    RewriteCond %{HTTP:HOST} ^admin\.yourdomain\.com$
    RewriteCond %{REQUEST_URI} !/admin/
    RewriteRule .* %{REQUEST_URI}index.php/admin/ [R=302,L]
    
2 голосов
/ 04 ноября 2010

Вам нужно написать переписать .htaccess, который ищет входящие домены admin.magentostore.com и переписывает его в index.php/admin. Если вы посмотрите документацию Apache rewrite , вы найдете множество примеров того, как этого добиться. Это не вопрос Magento как таковой, нативный .htaccess поможет вам разобраться.

НТН, JD

0 голосов
/ 04 ноября 2010

Перейдите в меню Система> Конфигурация> Администратор> Базовый URL администратора. Там вы можете ввести и включить http://admin.magentostore.com/. Вам все равно нужно будет установить MAGE_RUN_CODE, как предложил Иван, чтобы он не использовался в качестве обычного хранилища.

В качестве дополнительной настройки вы можете использовать мое (бесстыдно подключенное) расширение перезаписи администратора , чтобы привести в порядок URL-адреса. Я работал над другим расширением, чтобы усилить безопасность, запретив доступ администратора на доменах, не являющихся администраторами, но, к сожалению, он еще не готов к выпуску, посмотрите это место ...

...