我是 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>
在 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>
希望这有帮助。干杯!
添加此代码后,我的网站运行良好。非常感谢朋友。