【问题标题】:view is not loading using site-url in codeigniter视图未在 codeigniter 中使用 site-url 加载
【发布时间】:2017-09-19 08:47:42
【问题描述】:

我已尽一切努力从主页加载视图,但网站 url 无法正常工作这里是文件 我正在加载的视图是fundme-explore.php 在这个我使用浏览标签中的网站 url 链接

<div class="navv">
<ul class="nav navbar-nav">
   <li><a class="navbar-brand" id="hm"  href = "<?php echo site_url('Welcome/explore') ?>">Explore</a></li>                             
   <li><a class="navbar-brand" id="br" href = "start_a_project.html" >Start a project</a></li>
   <li><a class="navbar-brand" id="ab" href = "About_Us.html" >About us </a>
   </li> 
</ul>

这是我的控制器welcome.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {

    function __construct() {
        parent::__construct();

// Load url helper
$this->load->helper('url');
}
    public function index()
    {       

        $this->load->view('Fudme-home.php');



    }
        public function explore()
        {
            $this->load->view('fundme-explore');
        }

        }
?>

这是我的路线文件

$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;


$route['welcome/explore/'] = 'welcome/explore';

这是我的 .htaccess 文件

<IfModule authz_core_module>
    Require all denied
</IfModule>
<IfModule !authz_core_module>
    Deny from all
</IfModule>

这是我得到的错误图片

this appear when load explore view from main page

我做了所有教程或其他指南中提到的仍然无法检测到错误的事情,如果你知道,请帮助我。

【问题讨论】:

  • 你可以像这样调用视图`$this->load->view('Fudme-home')`
  • fundme-home 加载正常,但浏览视图未加载,这就是问题所在。
  • 看看@日志文件 - 因为它看起来像 PHP 错误或其他东西(/application/logs/ 下的 CI 日志、php-errors 日志甚至 Apache 日志。
  • 你应该这样尝试&lt;?php echo site_url('index.php/welcome/explore') ?&gt;
  • Tr 其中一些 htaccess github.com/wolfgang1983/htaccess_for_codeigniter 您将 htaccess 放在应用程序文件夹之外。在主目录中。

标签: php .htaccess codeigniter url-routing


【解决方案1】:

我认为您需要使用以下代码更改 htaccess:

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /YOUR_FOLDER/index.php?/$1 [QSA,L]
</IfModule> 

【讨论】:

    【解决方案2】:

    application/config/config.php 中确保您的“base_url”配置值不为空。通常,这将是您的基本 URL,带有尾部斜杠。

    $config['base_url'] = "http://example.com/";
    

    还要确保文件名以大写字母开头。 welcome.php 应该是 Welcome.php

    不是您的问题的一部分,而是您需要了解的内容:您不需要并且应该删除以下路线。

    $route['welcome/explore/'] = 'welcome/explore';
    

    URL 字符串与其对应的控制器和方法之间存在一对一的关系,遵循以下模式:domain/controller/method

    您需要$route 的唯一时间是您想要重新映射关系时。 Read this仔细了解更多详情。

    鉴于您显示的控制器,URL http://example.com/welcome/explore/ 将调用 Welcome 类的 explore 方法,而无需设置任何 $route - 假设 Codeigniter 已正确配置。

    【讨论】:

      猜你喜欢
      • 2013-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多