未在codeigniter中加载的其他页面

时间:2014-04-29 16:26:28

标签: php codeigniter

我是codeigniter的初学者,我正在尝试启动一个旧项目。当我加载主页时,它加载正常(登录页面)。但是当我点击进入任何其他页面(注册或忘记密码)时,它会返回到localhost。

我在 config.php 文件中设置了基本网址

$config['base_url'] = 'http://localhost/website/'; 

并在 autoload.php

中激活自动加载器
$autoload['helper'] = array('url','file','form','html');

任何帮助实现这一目标的人都将不胜感激。

其中一个链接的锚标记示例如下:

<h1>Login <?php echo anchor('signup', 'Sign Up', 'class="btn btn-link" title="Sign Up"' ); ?></h1>

1 个答案:

答案 0 :(得分:0)

在config.php中尝试

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

我不知道你是如何链接锚标签的,但这是一种方法:

<?php echo base_url();?>controller/function_name

确保localhost中root的文件夹层次结构正确。我的意思是,如果项目文件夹名称是“网站”,请确保Codeigniter文件(如应用程序,资源)不在子目录中,而是直接在“网站”文件夹中。

对于您的注册,请尝试使用以下语法:

<?php echo base_url();?>controller/signup

将此添加到根目录中的htaccess文件中:

<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteCond %{HTTP_HOST} ^yourdomain\.com$ [NC]
    RewriteRule ^(.*)$ $1 [R=301,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

希望这会有所帮助。干杯!