CodeIgniter多应用程序htaccess问题

时间:2014-03-10 17:54:22

标签: php .htaccess codeigniter

在你告诉我去CodeIgniter multi-application .htaccess problem之前,请听我说。

我说的原因是因为我的问题似乎与这张海报几乎完全相同。我的目录结构是:

application/
   admin/
   app/
..
.htaccess
admin.php
index.php

htaccess规则是:

RewriteEngine On
RewriteBase /dev/

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^admin$ admin\.php [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^admin\/(.*)$ admin\.php/$1 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index\.php/$1 [L,QSA]

基本上我需要的是:

输入example.com/admin - url保留admin文件夹,并将用户重定向到admin.php

输入example.com/admin/controller/method - 与上面相同

输入example.com/anything_else - 用户被定向到app而不是admin(index.php)

在测试上述帖子的htaccess中的人员(在本质上是从中复制的),在线测试器中,涉及带有“admin”的URI的两个规则由于某种原因未通过。我只能得到admin(不是^ admin $)作为模式工作(根据测试人员的说法)。

1 个答案:

答案 0 :(得分:0)

RewriteRule ^dev/admin(\/?) admin.php? [L,QSA]

应该为你做。这将考虑/admin/admin//admin/whatever/here。但对于后者,请注意,由于您有QSA,因此会将其附加到目标网址,如下所示:/admin.php?whatever/here