apache - 在 Apache 服务器上安装 cakephp 时未找到 cakephp/app/wwwroot/

标签 apache .htaccess cakephp mod-rewrite

我想做的事情:

我在 wamp 上使用 cakephp 2.2.1 开发了一个 Web 应用程序。现在我想将它安装在 Apache 服务器上(版本 2.2.16)。

错误:

The requested URL /inetpub/wwwroot/cakephp/app/webroot was not found on this server.

我做了什么:

在我看来,这是一个 .htaccess 错误。

我查了一下

LoadModule rewrite_module libexec/apache2/mod_rewrite.so

未注释。

我确信

Options FollowSymLinks AllowOverride All

已为 wwwroot/cakephp 目录启用。然后我检查所有 .htaccess 文件是否符合 docs

还是没有运气。

问题:

有谁知道这是怎么回事吗?

编辑:这里是app/webroot/index.php:

<?php
/**
 * Index
 *
 * The Front Controller for handling every request
 *
 * PHP 5
 *
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
 * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
 *
 * Licensed under The MIT License
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright     Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
 * @link          http://cakephp.org CakePHP(tm) Project
 * @package       app.webroot
 * @since         CakePHP(tm) v 0.2.9
 * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
 */
/**
 * Use the DS to separate the directories in other defines
 */
if (!defined('DS')) {
    define('DS', DIRECTORY_SEPARATOR);
}
/**
 * These defines should only be edited if you have cake installed in
 * a directory layout other than the way it is distributed.
 * When using custom settings be sure to use the DS and do not add a trailing DS.
 */

/**
 * The full path to the directory which holds "app", WITHOUT a trailing DS.
 *
 */
if (!defined('ROOT')) {
    define('ROOT', dirname(dirname(dirname(__FILE__))));
}
/**
 * The actual directory name for the "app".
 *
 */
if (!defined('APP_DIR')) {
    define('APP_DIR', basename(dirname(dirname(__FILE__))));
}

/**
 * The absolute path to the "cake" directory, WITHOUT a trailing DS.
 *
 * Un-comment this line to specify a fixed path to CakePHP.
 * This should point at the directory containing `Cake`.
 *
 * For ease of development CakePHP uses PHP's include_path.  If you
 * cannot modify your include_path set this value.
 *
 * Leaving this constant undefined will result in it being defined in Cake/bootstrap.php
 */
//define('CAKE_CORE_INCLUDE_PATH', ROOT . DS . 'lib');

/**
 * Editing below this line should NOT be necessary.
 * Change at your own risk.
 *
 */
if (!defined('WEBROOT_DIR')) {
    define('WEBROOT_DIR', basename(dirname(__FILE__)));
}
if (!defined('WWW_ROOT')) {
    define('WWW_ROOT', dirname(__FILE__) . DS);
}

if (!defined('CAKE_CORE_INCLUDE_PATH')) {
    if (function_exists('ini_set')) {
        ini_set('include_path', ROOT . DS . 'lib' . PATH_SEPARATOR . ini_get('include_path'));
    }
    if (!include ('Cake' . DS . 'bootstrap.php')) {
        $failed = true;
    }
} else {
    if (!include (CAKE_CORE_INCLUDE_PATH . DS . 'Cake' . DS . 'bootstrap.php')) {
        $failed = true;
    }
}
if (!empty($failed)) {
    trigger_error("CakePHP core could not be found.  Check the value of CAKE_CORE_INCLUDE_PATH in APP/webroot/index.php.  It should point to the directory containing your " . DS . "cake core directory and your " . DS . "vendors root directory.", E_USER_ERROR);
}

App::uses('Dispatcher', 'Routing');

$Dispatcher = new Dispatcher();
$Dispatcher->dispatch(new CakeRequest(), new CakeResponse(array('charset' => Configure::read('App.encoding'))));

最佳答案

问题已解决:

首先,如果您的网站是

http://www.example.info/tmp/

分别放入三个.htaccess中:

RewriteBase /tmp/ 
RewriteBase /tmp/app/ 
RewriteBase /tmp/app/webroot  

并替换

RewriteRule ^(.*)$ index.php [QSA,L]

RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

关于apache - 在 Apache 服务器上安装 cakephp 时未找到 cakephp/app/wwwroot/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12050971/

相关文章:

php - 带有 Mamp : database connection error 的 Mac OS 上的 Cakephp 控制台(烘焙)

mysql - CakePHP 中清理 SQL 的所有方法

javascript - cakephp 2.x 在 javascript 中执行 Controller

.htaccess - .htaccess 中的这个文件是什么?

linux - AH01630 : client denied by server configuration Apache

java - apache poi 中的shiftRows 不工作

apache - 如果域匹配则设置 cookie

php - 从网址中删除 .html

.htaccess - Google App-Engine 按国家/地区阻止传入流量?

php - 本地主机 php_network_getaddresses : getaddrinfo failed: No such host is known