使CakePHP 2.0在子目录中运行

时间:2012-04-27 14:51:26

标签: .htaccess routing cakephp-2.0

我的网站www.mysite.com位于/ var / www / 我在/ var / www / developer

中添加了我的cakephp应用程序

当我访问www.mysite.com/developer时,我的登录页面很好,登录后,应用程序将我带到主页。但每当我点击其他链接,我得到 “找不到网页”

我有3个htaccess

/var/www/developer
/var/www/developer/app
/var/www/developer/app/webroot

我应该把那些让我的网址工作的东西放在哪里?

由于

1 个答案:

答案 0 :(得分:0)

您的.htaccess文件应该如下所示:

的/ var / WWW /显影剂

<IfModule mod_rewrite.c>
   RewriteEngine on
RewriteBase /
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

的/ var / WWW /开发者/应用

<IfModule mod_rewrite.c>
   RewriteEngine on
RewriteBase /
   RewriteRule    ^$ webroot/    [L]
   RewriteRule    (.*) webroot/$1 [L]
</IfModule>

的/ var / WWW /开发者/应用程序/根目录

<IfModule mod_rewrite.c>
    RewriteEngine On
RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>

您还应该在/var/www/developer/app/webroot/index.php中定义正确的路径

而不是

    if (!defined('ROOT')) {
        define('ROOT', dirname(dirname(dirname(__FILE__))));
    }

尝试指定正确的方法(例如DS。'www'。'develop') 通常只需重新定义CAKE_CORE_INCLUDE_PATH即可,但有时您需要定义所有三个ROOT WEBROOT_DIR和CAKE_CORE_INCLUDE_PATH