如何在同一个域和不同的文件夹中运行zend和codeigniter?

时间:2014-09-23 10:43:49

标签: php .htaccess codeigniter mod-rewrite zend-framework

我正在开发一个网站,其前端位于zend框架中,管理部分位于codeigniter中。这两个部分都是在不同的域上构建的,但现在我需要对其进行配置,以便管理员和前端都可以工作。

这是现在的结构。

/public_html

/admin
/application
/library
/public

在这个管理下部分是在codeignitor中,休息文件夹是在zend的前端。

我需要的是.htaccess重写规则,以便管理员和前端都能正常工作。

现在这就是我的尝试。

    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_URI} !^/admin/.*$
    RewriteRule ^((?!public/).*)$ public/$1 [L,NC]

我应用了这个条件,这样如果没有管理员文件夹,那么它只会指向zend中前端的公共文件夹。

它只适用于/ admin文件夹,但是如果在/ admin之后出现任何其他操作/ admin / dashboard那么它会再次通过重写条件并指向/ public文件夹,它是zend然后我得到错误页面未找到。

有人能给我正确的.htaccess重写条件吗?

1 个答案:

答案 0 :(得分:0)

我有以下设置

的public_html - 项目文件夹 - 另一个文件夹

由.htaccess配置如下

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC]
RewriteRule ^((?!project-folder/).*)$ project-folder/$1 [NC,L]

RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com$ [NC]
RewriteRule ^((?!another-folder/).*)$ another-folder/$1 [NC,L]

根据需要更改.htaccess代码。

我的project-folder中的

包含整个CodeIgniter项目(application,assets,index.php等)。而另一个文件夹是我的另一个项目的根文件夹。

希望这可以提供帮助。