为Magento创建管理URL,即admin.magentostore.com(不是/ admin)

时间:2010-11-04 08:52:34

标签: .htaccess magento url-rewriting admin

我正在使用一些负载均衡的服务器,并且要求将我的所有管理任务都降级到一台服务器。我们已经确定,执行此操作的最佳方法是管理员的DNS条目。指向我们的主服务器。

我看到的问题是所有自定义管理员网址仍然是magentostore.com/admin,而我需要admin.magentostore.com。

任何想法或有没有人做过类似的事情?

谢谢!

3 个答案:

答案 0 :(得分:5)

首先在开发环境中尝试删除实时网站问题!

可以通过以下步骤完成:

  1. 您只需要为管理商店视图定义基本网址,然后在地址字符串中键入/ admin后,您将被重定向到它的基本网址。为此,您需要在admin中将基本网址配置选项设置为http://admin.yourdomain.com,并为每个网站设置指定其自己的基本网址(例如http://yourdomain.com)。它可以通过admin interface或config.xml文件完成。在第二种情况下,您需要从core_config_data表中删除这些路径中的所有记录:web/secure/base_urlweb/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. 要自动应用管理商店视图,您需要为Magento创建.htaccess规则,将其运行的商店代码设置为admin,如果未定义,则创建重定向到/ admin / request路径。您需要定义这些规则才能实现:

    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]
    

答案 1 :(得分:2)

您需要编写.htaccess重写,查找传入域admin.magentostore.com并将其重写为index.php/admin。如果你查看Apache rewrite documentation,你会发现很多如何实现它的例子。这实际上不是Magento这样的问题,原生.htaccess会把你排除在外。

HTH, JD

答案 2 :(得分:0)

进入菜单系统&gt;配置&gt;管理员&gt;管理员基础URL。在那里,您可以输入并启用http://admin.magentostore.com/。你仍然需要像Ivan建议的那样设置MAGE_RUN_CODE,以防止它被用作普通商店。

作为补充调整,您可以使用我(无耻插件)admin rewrite extension来整理网址。我一直致力于另一个扩展,通过禁止非管理域上的管理员访问来增强安全性,但遗憾的是它还没有准备好发布,请看这个空间......