如何修复代码点火器版本差异错误?

时间:2017-01-06 02:46:34

标签: php codeigniter

我有两个不同版本的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项目地址栏?

更新:

  • 我的base_url是$config['base_url']= "http://localhost:8080/bsm/";
  • 我注意到我的主播是<a href='/login'>Login</a>。当我将其更改为href='bsm/login'时,地址将变为'http://localhost:8080/bsm/bsm/login/'
  • 我的.htaccess
  <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>

1 个答案:

答案 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>