Codeigniter ExpressionEngine 2,管理路径路由

Codeigniter ExpressionEngine 2,管理路径路由,codeigniter,url-routing,expressionengine,Codeigniter,Url Routing,Expressionengine,我在ExpressionEngine工作的第一天,我了解基本的CodeIgniter /admin.php重命名为/john_doe.php 将$config['cp\u url']值更新为http://mysite.com/john_doe.php 我想将mysite.com/johndoe重定向到mysite.com/john_doe.php,作为管理EE2的替代方案 在CodeIgniter中(根据用户指南),必须将此行添加到/application/config/routes.php文件

我在ExpressionEngine工作的第一天,我了解基本的CodeIgniter

  • /admin.php重命名为/john_doe.php
  • $config['cp\u url']值更新为
    http://mysite.com/john_doe.php
  • 我想将mysite.com/johndoe重定向到mysite.com/john_doe.php,作为管理EE2的替代方案

    在CodeIgniter中(根据用户指南),必须将此行添加到/application/config/routes.php文件中:

    $route['johndoe'] = "john_doe.php";
    
    问题是:我如何在ExpressionEngine中做到这一点


    提前感谢。

    如果您只想将
    /johndoe
    重定向到
    /john_doe.php
    ,则无需使用ExpressionEngine执行任何操作(除非您真的想这样做)

    相反,只需在Apache的
    .htaccess
    文件中创建一个简单的
    mod_rewrite
    规则:

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteRule ^johndoe /john_doe.php [R=301,L]
    </IfModule>
    
    ExpressionEngine将重写其所有控制面板链接,以使用屏蔽访问文件名——只是不要忘记编辑该文件,以确保系统文件夹的路径设置正确:

    $system_path = './renamed-system-folder';
    
    在EE2中屏蔽控制面板访问权限的“老派”方法(即EE1)仍然是可能的

    打开
    /system/index.php
    并取消注释
    define('MASKED_CP',TRUE)

    /*
     * --------------------------------------------------------------------
     *  MASKED CP ACCESS
     * --------------------------------------------------------------------
     *
     * This lets the system know whether or not the control panel is being
     * accessed from a location outside the system folder
     * 
     * NOTE: If you set this, be sure that you set the $system_path and the 
     * 'cp_url' item in the $assign_to_config array below!
     * 
     */
    
     define('MASKED_CP', TRUE);
    
    在同一文件中,取消注释并将以下两个变量设置为新环境:

    $system_path = "./masked-system";
    
    $assign_to_config['cp_url'] = 'http://example.com/masked-system/index.php';
    
    这是另一种屏蔽控制面板访问的方法


    重命名
    admin.php
    的技术要简单得多,并且在ExpressionEngine用户指南中被推荐为一种新的方法。

    这对您的问题没有任何帮助,但我发现,当我不得不处理EE时,对CodeIgniter的深入了解对我毫无帮助。可能会忘记它与CI有任何关系。进行了很多尝试,但没有达到预期效果,但对于我想要解决它的方式来说,这是一个有趣的解决方案。虽然.htaccess文件解决方案失败,但我更喜欢重命名文件解决方案,并为CP文件提供了一个复杂的名称和正确的路径。我刚刚修复了问题
    .htaccess
    通过删除URI上的开始斜杠来进行规则;我完全疏忽了。现在应该可以正常工作了。
    $system_path = "./masked-system";
    
    $assign_to_config['cp_url'] = 'http://example.com/masked-system/index.php';