【问题标题】:Codeigniter front controller location and proper .htaccessCodeigniter 前端控制器位置和正确的 .htaccess
【发布时间】:2014-11-26 09:47:10
【问题描述】:

如果我移动前端控制器,我的 .htaccess 代码应该是什么样子?更具体地说,我在以下目录中有前端控制器:root/public/index.php,我的 .htaccess 看起来像这样:

RewriteEngine on
RewriteBase /

ReWriteCond %{REQUEST_URI} !public/
ReWriteRule ^(.*)$ public/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php?/$0 [PT,L] 

现在,当我将前端控制器移至:root/en/index.php 时,显然我的 .htaccess 已过时。另外我认为我必须更改前端控制器中的路径?但让我们先修复 .htaccess 以使用新结构。

【问题讨论】:

    标签: php .htaccess codeigniter mod-rewrite bonfire


    【解决方案1】:

    应该只是重写的问题:

    ReWriteCond %{REQUEST_URI} !public/
    ReWriteRule ^(.*)$ public/$1 [L]
    

    收件人:

    ReWriteCond %{REQUEST_URI} !en/
    ReWriteRule ^(.*)$ en/$1 [L]
    

    【讨论】:

    • 我现在得到 404 无法找到主题布局:索引
    • 你的布局还在public文件夹下还是en下?
    • 主题和资源仍在公共文件夹下
    • 是的,这就是它找不到它们的原因。我想你的代码(和codeigniter)假设它们在同一个目录下。这将转发请求,就好像它从 en 目录开始一样。
    • 如果我将它们移动到root/en,它们将与应用程序目录位于同一文件夹中,这样安全吗?我真的只想让我的root/en 成为我的应用程序的新根文件夹
    猜你喜欢
    • 1970-01-01
    • 2010-12-14
    • 2015-01-01
    • 2013-12-15
    • 1970-01-01
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多