我是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>
答案 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>
希望这会有所帮助。干杯!