Stylesheets 403禁止本地主机Codeigniter

问题描述 投票:0回答:3

我几乎为我的代码点火器完成了主题系统。

遇到样式表问题时出现错误403本地主机。

它正在我的另一个上运行,但是我的新版本无法使用

每个主题都有其样式表文件夹和Java脚本。大多数人说这样做是错误的,但是。这种方式对于主题系统来说更好。

主题/默认

主题/默认/样式表/stylesheet.css

theme / default / javascript / common.js

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta name="keywords" content="" />
<title><?php echo $this->config->item('title'); ?></title>
<base href="<?php echo base_url(); ?>"> 
<link rel="stylesheet" type="text/css" href="application/views/theme/default/stylesheets/stylesheet.css" media="screen">    
</head>

theme / codeigniter

theme / codeigniter / stylesheets / stylesheet.css

theme / codeigniter / javascript / common.js

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta name="keywords" content="" />
<title><?php echo $this->config->item('title'); ?></title>
<base href="<?php echo base_url(); ?>" >
<link rel="stylesheet" type="text/css" href="application/views/theme/codeigniter/stylesheets/stylesheet.css" media="screen" >
</head>
css codeigniter
3个回答
0
投票

我认为Code Ignitor将撤消应用程序文件夹内的直接访问。因此,我将所有图像,CSS和JS以及应用程序,系统和用户指南全部放入CI ROOT FOLDER中的一个名为asset的文件夹中。

现在,在utility_helper.php中创建一个名为ROOT_FOLDER/application/helper的文件并添加以下代码

<?php

function asset_url(){
   return base_url().'assets/';
}

?>

然后在第67行的application/config/autoload.php中添加实用程序

$autoload['helper'] = array('utility');

现在,当您要访问资产文件夹时,可以将其称为

<link rel="stylesheet" type="text/css" href="<?php echo asset_url();?>stylesheets/stylesheet.css" />

0
投票
<link rel="stylesheet" type="text/css" media="all" href=<?php echo   
  base_url()."application/views/theme/codeigniter/stylesheets/stylesheet.css"?> />

0
投票

我花了几个小时遇到这个问题,但是以不同的方式解决了它。可以看到,我刚刚在应用程序文件夹之外创建了一个资产文件夹。最后,我将样式表链接到页面标题部分。文件夹结构在图像下方。

enter image description hereenter image description here

在执行此操作之前,您应该在控制器类方法/ __ constructor文件中或在autoload.php文件中包含url帮助文件。还要在以下文件application / config / config.php

中更改$config['base_url'] = 'http://yoursiteurl';

如果将其包含在控制器类方法/ __ constructor中,则它看起来像

public function __construct()
{
    $this->load->helper('url');
}

或如果您加载自动加载文件,则看起来像

$autoload['helper'] = array('url'); 

最后,添加样式表文件。您可以通过不同的方式链接样式表,将其包含在内部部分

-> <link rel="stylesheet" href="<?php echo base_url();?>assets/css/style.css" type="text/css" />

->或

<?php

    $main = array(
    'href'       => 'assets/css/style.css',
    'rel'        => 'stylesheet',
    'type'       => 'text/css',
    'title'      => 'main stylesheet',
    'media'      => 'all',
    'index_page' => true
    );


echo link_tag($main); ?>

->或

最后,我得到了更可靠的代码清理器概念。只需在application / config / styles.php文件夹中创建一个名为styles.php的配置文件。然后在styles.php文件中添加一些链接,如下所示:>

<?php
 $config['style'] = array(
    'main' => array(
        'href'       => 'assets/css/style.css',
        'rel'        => 'stylesheet',
        'type'       => 'text/css',
        'title'      => 'main stylesheet',
        'media'      => 'all',
        'index_page' => true
    )
 );

?>

调用/将此配置添加到控制器类方法如下

$this->config->load('styles');
$data['style'] = $this->config->config['style'];

在标题模板中传递此数据如下所示。

$this->load->view('templates/header', $data);

最后添加或链接您的css文件,如下所示。

<?php echo link_tag($style['main']); ?>
© www.soinside.com 2019 - 2024. All rights reserved.