Dodałem exit() ale to i tak nie pomaga. Stale dodaje mi app/webroot. Moja wersja CakePHP: 1.1.7.3363.
Może coś w pliku konfiguracyjnym mam pokiełbasione??
<?php
/* SVN FILE: $Id: core.php 2951 2006-05-25 22:12:33Z phpnut $ */
/**
* This is core configuration file.
*
* Use it to configure core behaviour ofCake.
*
* php versions 4 and 5
*
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
* Copyright (c) 2006, Cake Software Foundation, Inc.
* 1785 E. Sahara Avenue, Suite 490-204
* Las Vegas, Nevada 89104
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @filesource
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
* @link <a href="http://www.cakefoundation.org/projects/info/cakephp" target="_blank">http://www.cakefoundation.org/projects/info/cakephp</a> CakePHP Project
* @package cake
* @subpackage cake.app.config
* @since CakePHP v 0.2.9
* @version $Revision: 2951 $
* @modifiedby $LastChangedBy: phpnut $
* @lastmodified $Date: 2006-05-25 17:12:33 -0500 (Thu, 25 May 2006) $
* @license <a href="http://www.opensource.org/licenses/mit-license.php" target="_blank">http://www.opensource.org/licenses/mit-license.php</a> The MIT License
*/
/**
* If you do not have mod rewrite on your system
* or if you prefer to use CakePHP pretty urls.
* uncomment the line below.
* Note: If you do have mod rewrite but prefer the
* CakePHP pretty urls, you also have to remove the
* .htaccess files
* release/.htaccess
* release/app/.htaccess
* release/app/webroot/.htaccess
*/
// define ('BASE_URL', env('SCRIPT_NAME'));
/**
* Set debug level here:
* - 0: production
* - 1: development
* - 2: full debug with sql
* - 3: full debug with sql and dump of the current object
*
* In production, the "flash messages" redirect after a time interval.
* With the other debug levels you get to click the "flash message" to continue.
*
*/
/**
* Turn of caching checking wide.
* You must still use the controller var cacheAction inside you controller class
.
* You can either set it controller wide, or in each controller method.
* use var $cacheAction = true; or in the controller method $this->cacheAction = true;
*/
/**
* Error constant. Used for differentiating error logging and debugging.
* Currently php supports LOG_DEBUG
*/
/**
* CakePHP includes 3 types of session saves
* database or file. Set this to your preferred method.
* If you want to use your own save handler place it in
* app/config/name.php DO NOT USE file or database as the name.
* and use just the name portion below.
*
* Setting this to cake will save files to /cakedistro/tmp directory
* Setting it to php will use the php default save path
* Setting it to database will use the database
*
*
*/
define('CAKE_SESSION_SAVE', 'database'); /**
* If using you own table name for storing sessions
* set the table name here.
* DO NOT INCLUDE PREFIX IF YOU HAVE SET ONE IN database.php
*
*/
define('CAKE_SESSION_TABLE', 'cake_sessions'); /**
* Set a random string of used in session.
*
*/
define('CAKE_SESSION_STRING', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi'); /**
* Set the name of session cookie
*
*/
define('CAKE_SESSION_COOKIE', 'cookie'); /**
* Set level of Cake security.
*
*/
define('CAKE_SECURITY', 'high'); /**
* Set Cake Session time out.
* If CAKE_SECURITY define is set
* high: multiplied by 10
* medium: is multiplied by 100
* low is: multiplied by 300
*
* Number below is seconds.
*/
define('CAKE_SESSION_TIMEOUT', '600'); /**
* Uncomment the define below to use cake built in admin routes.
* You can set this value to anything you want.
* All methods related to the admin route should be prefixed with the
* name you set CAKE_ADMIN to.
* For example: admin_index, admin_edit
*/
define('CAKE_ADMIN', 'admin'); /**
* The define below is used to turn cake built webservices
* on or off. Default setting is off.
*/
/**
* Compress output CSS (removing comments, whitespace, repeating tags etc.)
* This requires a/var/cache directory to be writable by the web server (caching).
* To use, prefix the CSS link URL with '/ccss/' instead of '/css/' or use Controller::cssTag().
*/
define('COMPRESS_CSS', false); /**
* If set to true, helpers would output data instead of returning it.
*/
/**
* If set to false, session would not automatically be started.
*/
/**
* Set the max size of file to use md5() .
*/
define('MAX_MD5SIZE', (5
* 1024
) * 1024
); /**
* To use Access Control Lists with Cake...
*/
define('ACL_CLASSNAME', 'DB_ACL'); define('ACL_FILENAME', 'dbacl' . DS
. 'db_acl'); ?>
Witam!
Udało mi się rozwiązać problem w ten sposób:
W pliku controller.php bibliotek CakePHP jest funkcja odpowiadająca za przekierowywanie:
Wygląda ona następująco:
<?php
function redirect($url, $status = null) {
00336 $this->autoRender = false;
00337
$pos = strpos($url, '://');00338 $base = strip_plugin($this->base, $this->plugin);
00339 if ($pos === false) {
00340
if (strpos($url, '/') !== 0
) {00341 $url = '/' . $url;
00342 }
00343 $url = $base . $url;
00344 }
00345
00346 if (function_exists('session_write_close')) {
00348 }
00349
00350 if ($s..........itd
?>
Zmieniłem wiersz nr 00343 na następujący:
<?php
00343 $url = $url;
?>
I teraz gdy korzystam z funkcji redirect(), do adresu nie jest już dodawamy łańcuch "app/webroot"
Pozdrawiam