2016-04-03 8 views
0

この質問は頻繁に尋ねられ、同様に答えられました。をアプリケーションディレクトリのの外に保存してからbase_url() . "path/to/file"を使用してください。 viewsディレクトリが効果的にHTMLの空間であり、CSSとJSが(私の意見では)その空間に属しているためCodeIgniter:アプリケーションフォルダ内にあるCSSファイルをロードする方法

はしかし、私は、私のCSSファイルとJSファイル内部の私のapplication/views/ディレクトリを維持したいです。以下は

は私が望むの構造である:私は、このディレクトリ構造内からCSSファイルをロードしようとすると

root 
- application 
-- views 
--- assets 
---- css 
---- js 
- system 

、私は理由CIのフレームワークプロトコルの理にかなってNetworkError: 403 Forbiddenを取得します。

しかし、私は方法があると推測しています。

答えて

0

CSSesの画像やJSファイルなどの公開可能なファイルは、index.phpファイルの横の公開ディレクトリに存在する必要があります。だから、階層は次のようになります。

root 
- application 
- system 
- assets 
-- css 
-- js 

あなたは、ハードコーディングされた

<a href="http://www.example.tld/assets/css/style.css">Link</a> 

またはそれが機能base_url()またはsite_url()だと(ロード)URLヘルパーを使用してそれらのファイルにaproachことができます。正しいURLをアプリケーションconfigファイルに入力することを忘れないでください。

Docs

+0

Tpojka、応答ありがとう...なぜ彼らは「必要なのですか?私はCIがこのオプションをサポートしていないことを認識していますが、これが私の質問を投稿した理由です...ありがとう... – dsdsdsdsd

+0

これらのディレクトリ(システム、アプリケーション)は一般に公開可能ではなく、 '.htaccess'ファイルセキュリティ上の理由から公開されないように設定されています。 – Tpojka

0

こんにちは私は丁寧にこのアイデアを後押ししています: あなたのアプリケーションとシステムフォルダは、rootよりも上にある必要があります。 (これは本当にシンプルなアプリケーションで、データベースのやり取りなどをしていない限り)。 HTMLやパブリックスペースにアクセスすることを望まないため、HTMLやパブリックスペースの一部と見なすべきではありません。それらのパスをメインのindex.phpファイルとそのdoneに一度設定します。

また、 "system302"のようにシステムフォルダとアプリケーションフォルダの名前を変更することをお勧めします。長期間にわたり、バージョン管理とアップグレード(必要に応じて元に戻す)をはるかに簡単にします。

+0

Cartalot、応答ありがとう...私は 'application'と' system'フォルダをルートの上に動かすことについて聞いていません...しかし、それは私が求めているものとは異なる問題です...私の質問は、ディレクトリはそのまま(つまりルートの下に)残されています。代わりに、 'application'ディレクトリのどこかにアセット(CSSなど)を置いてビューからアクセスできますか? ...ありがとう... – dsdsdsdsd

関連する問題