我继承了一个webapp,我试图在我的工作PC上本地设置Xampp,Codeigniter& Netbeans的。
我已将项目成功导入netbeans并可以点击运行按钮并在浏览器中打开。但是我有一些奇怪的行为,而且我真的不明白我做错了什么。
index.php有一行:
define('ENVIRONMENT', 'development');
然后在codeigniter应用程序文件夹中有一个开发文件夹,其中包含config.php。这有base_url设置,当前设置为指向开发服务器(" http://exampleDevServer")
$config['base_url'] = 'http://exampleDevServer"';
我已更改此行,使其指向localhost上的xampp服务器,即
$config['base_url'] = $config['base_url'] = 'http://127.0.0.1/';
当我按下运行按钮时,它看起来很简单地转到该服务器,然后立即被重定向到http://exampleDevServer。
.htaccess文件包含以下内容:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^http://exampleDevServer$ [NC]
RewriteRule ^(.*)$ http://exampleDevServer/$1 [L,R=301]
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
我尝试过重写开启和关闭都没有效果。
我想要发生的是,当我在本地开发时,它从xampp服务器运行,然后我可以将define更改为生产(或其他),然后指向写入位置。我需要在上面做些什么来改变这个?
答案 0 :(得分:0)
您可以更改配置文件 文件: application / config / config.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$host = (isset($_SERVER['HTTP_HOST'])) ? $_SERVER['HTTP_HOST'] : 'CLI';
$config['local_ip'] = array('localhost','127.0.0.1');
if($host != 'CLI') {
if(in_array($host,$config['local_ip'])) {
$config['base_url'] = '';
} else {
$config['base_url'] = 'YOUR_LIVE_URL';
}
} else {
if(CLI_ENVIRONMENT == 'local') {
$config['base_url'] = '';
} else {
$config['base_url'] = 'YOUR_LIVE_URL';
}
}
?>
答案 1 :(得分:0)
我相信这归结为http://shouldiblamecaching.com/ - 是的。用Firefox自动指导我认为localhost应该去的东西,在这种情况下是dev服务器而不是我的本地服务器。
我也按照下面的评论中的建议更改了我的htaccess文件。
RewriteEngine on
#RewriteCond %{HTTP_HOST} !^http://exampleDevServer$ [NC]
#RewriteRule ^(.*)$ http://exampleDevServer/$1 [L,R=301]
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]