27

私はcodeigniterにかなり慣れていませんが、よく学んでいます.css、images、js、...フォルダを追加するつもりですが、どこに置くべきかわかりません

「公開」フォルダーを作成するように誰かに言われました

system
application
public
    css
    images

次に、index.php (パブリックフォルダー内) でそれに応じて調整します

$system_path = '../システム'; $application_path = '../アプリケーション';

しかし、それを行うと、404が表示されます(ci 404ではなく、本当に見つからないものです)

誰かが私が間違っているかもしれないことを知っていますか? ありがとう!

4

3 に答える 3

58

私はこのセットアップを持っています:

application
assets
system
.htaccess

「assets」フォルダーには、「img」や「js」などのサブフォルダーがあります。また、「ユーティリティ ヘルパー」を使用して、そのフォルダーを指すようにしています。

試してみたい場合は、最初に次のコードで「utility_helper.php」という名前のヘルパーを作成する必要があります。

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

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

に保存します。

     application/helpers/

次に、そのヘルパーを自動ロードする必要があります。次の場所に移動します。

  application/config/autoload.php

ヘルパーを自動ロードします (例: )

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

また、そのフォルダーにルーティングする必要があります ('application/config/routes.php')

       $route['assets/(:any)'] = 'assets/$1';

次の内容の .htaccess ファイルがあります。

    RewriteEngine on
    RewriteCond $1 !^(index\.php|images|assets|robots\.txt)
    RewriteRule ^(.*)$ /index.php/$1 [L]

外部スクリプト、css の例を簡単に含めることができるようになりました。

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

css はアセット内のフォルダーで、style.css は css ファイルです。そのようです:

   application
   assets
          css
              style.css
   system
于 2013-11-06T23:53:38.267 に答える
12

これに関する別の角度-そして彼らがあなたに何をするように伝えようとしていたか-アプリケーションとシステムフォルダーを「パブリック」htmlフォルダーから1レベル上に置くことです。そうすれば、ソース ファイルにアクセスできなくなります。そのため、Mamp の場合と同様に、パブリック フォルダーは htdocs と呼ばれ、ほとんどの Web ホスティングでは html と呼ばれます。

 /application/html/
 /system     /html/

 // your main index page is in the public html folder
 /.…..       /html/index.php 

 // an assets folder in the public html folder with css, img, etc folders
 /.……        /html/assets/css/
 /.……        /html/assets/img/

次に、index.php で、パスは次のように 1 レベル上に移動します。

$system_path = '../system';
$application_folder = '../application';

おまけ - ここで私を大いに助けてくれた 2 つのヒントを紹介します。1) アプリケーション フォルダに名前を付けると、異なるバージョン間で簡単に切り替えたり、非常に迅速に「ロールバック」したりできます。

 /app_alpha/html/
 /app_beta01/html/
 /app_beta02/html/

2) config ではなく、index.php ページにベース URL を配置します。

   $assign_to_config['base_url'] = 'https://awesomedomain.com'; 

そうすれば、ローカルの開発バージョンと別のライブ サーバー バージョンを使用できます。ベース URL は config ではなく index.php ページにあるため、上書きを心配する必要はありません。

于 2013-11-07T00:18:57.987 に答える