在Codeigniter中开发的站点仅加载主页

时间:2011-01-05 09:25:58

标签: php codeigniter

我正在尝试将Codeigniter中开发的网站从一个主机移动到另一个主机。主机之间的唯一区别是站点正在移动的服务器是Windows服务器(安装了PHP等),新服务器是Linux。

但是,当我上传网站并更改了所有网址引用时,网站只会加载主页。

新网站的地址为http://pioneer.xssl.net/~admin341/

有一个htaccess文件,内容如下:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

#Removes access to the system folder by users.
#Additionally this will allow you to create a System.php controller,
#previously this would not have been possible.
#'system' can be replaced if you have renamed your system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

#Checks to see if the user is attempting to access a valid file,
#such as an image or css document, if this isn't true it sends the
#request to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

    #如果我们没有安装mod_rewrite,那么所有404都是     #可以发送到index.php,一切正常。     #提交人:ElliotHaughin

ErrorDocument 404 /index.php

config.php中与网址相关的行是:

$config['base_url'] = "http://pioneer.xssl.net/~admin341/index.php/";
$config['index_page'] = "";

此外,开发人员(我的前任)编写了一个url帮助文件:

function base_url($includeIndexPHP = true)
{       
    if($includeIndexPHP)
    {
        $CI =& get_instance();      
        return $CI->config->slash_item('base_url');
    }
    else
    {
       return 'http://pioneer.xssl.net/~admin341/';
    }
}

任何想法都将不胜感激。感谢。

1 个答案:

答案 0 :(得分:3)

您可能需要更改$ config ['uri_protocol']以使其在您的实际网站上运行。这通常是CodeIgniter中“仅限主页”路由问题的原因。

最常见的是REQUEST_URI,但有时PATH_INFO效果更好。