Php Codeigniter前控制器位置和正确通道
如果我移动前端控制器,我的.htaccess代码应该是什么样子?更具体地说,我的front controller位于以下目录中:Php Codeigniter前控制器位置和正确通道,php,.htaccess,codeigniter,mod-rewrite,bonfire,Php,.htaccess,Codeigniter,Mod Rewrite,Bonfire,如果我移动前端控制器,我的.htaccess代码应该是什么样子?更具体地说,我的front controller位于以下目录中:root/public/index.php,我的.htaccess看起来是这样的: RewriteEngine on RewriteBase / ReWriteCond %{REQUEST_URI} !public/ ReWriteRule ^(.*)$ public/$1 [L] RewriteCond %{REQUEST_FILENAME} !-f Rewri
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显然变成了obosolete。我还认为我必须改变我的前控制器的路径?但是,让我们先修复.htaccess以使用新结构。应该只是重写的问题:
ReWriteCond %{REQUEST_URI} !public/
ReWriteRule ^(.*)$ public/$1 [L]
致:
我现在得到404找不到主题布局:indexIs您的布局仍在公用文件夹下还是在en下?主题和资产仍在公用文件夹下是的,这就是它找不到它们的原因。我想象你的代码(和codeigniter)假设它们在同一个目录下。这将转发请求,就像它首先命中en目录一样。如果我将它们移动到
根目录/en
中,它们将与应用程序目录位于同一文件夹中,这样安全吗?我真的只想让我的root/en
成为我的应用程序的新根文件夹
ReWriteCond %{REQUEST_URI} !en/
ReWriteRule ^(.*)$ en/$1 [L]