cakephp / app / webroot /在Apache sereper上安装cakephp时未find

我在做什么:

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

错误

在此服务器上找不到所请求的URL / inetpub / wwwroot / cakephp / app / webroot。

我做了什么:

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

我查了一下

LoadModule rewrite_module libexec / apache2 / mod_rewrite.so

没有注释。

我确信

选项FollowSymLinks AllowOverride全部

启用了wwwroot / cakephp目录。 然后我检查了所有的.htaccess文件都符合文档 。

仍然没有运气。

题:

有谁知道发生了什么事?

编辑:这里是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')))); 

Solutions Collecting From Web of "cakephp / app / webroot /在Apache sereper上安装cakephp时未find"

问题解决了:

首先,如果你的网站是

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]