我有两个不同版本的Code Igniter项目。第一个项目是CI 2.0.2,另一个是CI 3.0。当我将3.0项目实施到我的机器时,地址栏中缺少项目名称。
示例:
当我第一次打开项目时,地址为'http://localhost:8080/bsm/'
。但是,当我单击登录按钮打开登录表单时,地址变为'http://localhost:8080/login'
。它应该是'http://localhost:8080/bsm/login/'
。
我对2.0.2项目没有任何问题。那么,如何正确显示3.0项目地址栏?
更新:
$config['base_url']= "http://localhost:8080/bsm/";
<a href='/login'>Login</a>
。当我将其更改为href='bsm/login'
时,地址将变为'http://localhost:8080/bsm/bsm/login/'
。<IfModule mod_rewrite.c> RewriteEngine On # !IMPORTANT! Set your RewriteBase here and don't forget trailing and leading # slashes. # If your page resides at # http://www.example.com/mypage/test1 # then use # RewriteBase /mypage/test1/ RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /bsm/index.php?/$1 [L] </IfModule> <IfModule !mod_rewrite.c> # If we don't have mod_rewrite installed, all 404's # can be sent to index.php, and everything works as normal. # Submitted by: ElliotHaughin ErrorDocument 404 /index.php </IfModule>
答案 0 :(得分:0)
调整base_url
:
Application > Config > config.php
同时检查.htaccess
并确保将子文件夹添加到路径:
RewriteRule ^(.*)$ /bsm/index.php?/$1 [L]
或使用:
RewriteBase /bsm
由于您编辑了有关链接的说明,请执行以下操作:
<a href='/bsm/login'>Login</a>
或者这个
<a href='<?php print base_url(); ?>login'>Login</a>