CodeIgniter上传到服务器后给出404

时间:2012-09-27 08:31:13

标签: php codeigniter

我在本地计算机上安装了CodeIgniter。我在Windows和Apache配置中使用hosts文件使其在我的真实域名下工作(例如site.com)。它工作得很好,所以今天我把所有东西都上传到我的主人。我更改了hosts和Apache配置,通过ipconfig /flushdns刷新了DNS,现在输入某些网址(games)给了我404.

我的控制器名称以大写字母开头,但我的路由设置如下:

$route['Games/(:num)/(:any)'] = 'Games/Game/$1';
$route['games/(:num)/(:any)'] = 'Games/Game/$1';

通过games/14/gameGames/14/game输入此内容无效。

搜索图像(使用solution given by merahulpk)也不起作用。

它有什么用?

不幸的是,它仍处于开发阶段,所以我还不能给你这个aaddess。

- 编辑 -

图像包含脚本:

views/game.php

<?php
    $image_path = $this->config->item('base_path').'images/games/'.$info['id'].'-s.jpg';
    if(file_exists($image_path)) {
        $small = $this->config->item('base_url').'images/games/'.$info['id'].'-s.jpg';
        $big = $this->config->item('base_url').'images/games/'.$info['id'].'-b.jpg';
    } else {
        $small = $this->config->item('base_url').'images/games/none-m.png';
        $big = $this->config->item('base_url').'images/games/none-m.png';
    }
?>

config/sit-config.php

<?php

$config['base_url'] = "http://".$_SERVER['SERVER_NAME'] . str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);

if(!defined('DOCUMENT_ROOT')) define('DOCUMENT_ROOT',str_replace('system/application/config','',substr(__FILE__, 0, strrpos(__FILE__, '/'))));

$config['base_path']    =   constant("DOCUMENT_ROOT");
?>

1 个答案:

答案 0 :(得分:3)

请勿在路线中使用大写字母。像这样使用全部小写:

$route['games/(:num)/(:any)'] = 'games/game/$1';

如果使用大写控制器名称,则路由不起作用。至于方法名称,它们可以是大写的小写,两者都可以工作......不需要重复的路由!