其他页面未在 codeigniter 中加载

问题描述 投票:0回答:2

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

我在我的 config.php 文件中设置了一个基本 url

$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>
php codeigniter
2个回答
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

确保本地主机根目录中的文件夹层次结构正确。我的意思是,如果项目文件夹名称是“网站”,请确保应用程序、资源等 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>

希望这有帮助。干杯!


0
投票

添加此代码后,我的网站运行良好。非常感谢朋友。

© www.soinside.com 2019 - 2024. All rights reserved.