質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

Q&A

解決済

3回答

2582閲覧

codeignighterで各フォルダに配置されているindex.htmlの意味

skm

総合スコア11

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

0グッド

1クリップ

投稿2018/03/25 10:11

先月からPHPのフレームワークの勉強を始め、codeignighter3.1.7を利用しています。
ネット上で検索しても目的の情報が得られなかったためこちらに質問することにしました。

開発環境はXAMPPで、codeignighterの公式サイトから直接ダウンロードしたものをhtdocs以下に配置しています。

codeignighterのフォルダ構成をみていると、全てのフォルダにindex.htmlが置いてあることに気づきました。
性格上、無駄なファイルはあまり置いておきたくないので、不要なら消してしまいたい、と思ったのですが、これを削除してしまうことで何らかの害が起こることはありますか?

index.htmlが各ディレクトリに置かれている意味は、ディレクトリにアクセスされた際にディレクトリ一覧のページを表示しないため、ということくらいしか思い浮かびませんでした。

しかしディレクトリ一覧が表示されてしまうのは、
applicationおよびsystemフォルダに配置された.htaccessにある

<IfModule authz_core_module> Require all denied </IfModule> <IfModule !authz_core_module> Deny from all </IfModule> ```の記述で対策されているのではないでしょうか? 試しにapplication/config/にあるindex.htmlを削除してみましたが、application/config/ディレクトリにアクセスしても403エラーになりました。 初心者のくだらない質問だと思うので大変恐縮ですが、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

index.htmlが各ディレクトリに置かれている意味は、ディレクトリにアクセスされた際にディレクトリ一覧のページを表示しないため、ということくらいしか思い浮かびませんでした。

多分、そうです。予防処置ですね。まぁ、見れるようにしているサイトは問題ですが^^;

そもそも、DocumentRoot にファイルを全部置くのは、あまりオススメではないので、以下を参考に調整することを検討してみてください。
CodeIgniter Composer Installer

投稿2018/03/25 10:21

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/03/25 11:09

codeignighterは設計が古臭いので…。
退会済みユーザー

退会済みユーザー

2018/03/26 00:11

そうですね^^; 好きなんですけど、少し古いですね。
skm

2018/03/26 12:08

詳しい方からするとCIは古臭いのですね……ちょっとショックでしたorz フレームワークを学習し始めるにあたってはララベル、cakePHP、CIの3つを候補に挙げ、フレームワークを比較しているサイトで最もトレンドらしいことが書かれていたララベルからチャレンジしてみました。 ところが自分があまりに無知過ぎてhello worldすらままならなかったので、その中で最も簡単らしいCIを始めてみた次第です。 フレームワークの比較サイトでは人気度合いにばかり注目されていて肝心の機能的な部分の解説がなかなか見つからなかったのですが、CIが古臭いとされる所以とはどのような部分なのでしょうか? 勉強のために、ご教示いただけると幸いです。
退会済みユーザー

退会済みユーザー

2018/03/26 13:23

そもそも、標準機能として composer でインストールできないとか、古いですね^^; 紹介したインストーラの作者が、解説付きで導入方法を説明してくれているので参考まで。 http://blog.a-way-out.net/blog/2015/12/06/install-codeigniter/ ここで紹介されたツールを追加すると、少しモダンなフレームワークに近づきますw
skm

2018/03/26 13:59

te2ji様、ご丁寧にありがとうございます。 記事をみて疑問が2点あります。 1.PHPのビルトインwebサーバーを利用したら、XAMPP環境は必要ないということなのでしょうか? 2.コードの編集にNetbeansというIDEを利用しているのですが、プロジェクトフォルダおよび実行構成のプロジェクトURLをCIフォルダにして、開始ファイルに「/public/index.php」を指定、index.phpのapplication・modelなどの各パスを「../」で上の階層を指定することで公開フォルダ外にアプリケーションを置く環境が完成……って感じなんでしょうか?以前にこちらのサイトhttp://www.ci-guide.info/(codeigniter徹底ガイド様)を参考に公開フォルダ外にアプリケーションを置く方法を試してみたことがあるのですが、Netbeansでうまく動かせず諦めてしまったのです。IDEによってはその環境は使えない、ということも起こりえるのでしょうか。 もしNetbeansについてもご存じでしたら、少しヒントを頂けたら幸いです。
退会済みユーザー

退会済みユーザー

2018/03/26 14:19

1 ビルトインサーバでもいいけど、MySQL って別で入れる? 2 Netbeans は分かりません^^;
skm

2018/03/26 14:26

ああっ、そうですね。 ちょうどいま作っていたサイトがデータベースを使わない静的サイトだったので、すっかり頭から抜け落ちていました。 あほな質問ですみません。 ありがとうございました。
guest

0

ベストアンサー

.htaccessやらそこらへんの設定が万が一消えてしまっても事故を起こさないためでしょうね

投稿2018/03/25 10:15

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/03/25 10:50 編集

.htaccess を使わない web サーバ向けだと思います。 nginx とか。
y_waiwai

2018/03/25 10:30

.htaccess消してしまうようなマヌケがサーバのメンテしてんのか? と思ったあなた。私もそう思っていたときもありました。(ナンチテ
guest

0

返信ボタンやフォームが見当たらないのでここで皆様へお礼させていただきます。

.htaccessが機能しないケースへの備えとして理解しておきます。

私は趣味で自分用のアプリケーションを作ったりしている程度なのですが、企業が作るアプリケーションでも公開フォルダ以下にアプリケーションを配置するような場合はindex.htmlは予防策として全フォルダに用意しておくものなのでしょうか?という点が新たに気になりました。
独学&趣味だからといってあまり世間一般から外れたことはしたくないので、、、^p^;

投稿2018/03/25 11:20

skm

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/03/26 00:19

> 公開フォルダ以下にアプリケーションを配置するような場合 そんなケースが無いように設計するのが一般的です。 フレームワーク使用するなら、このあたりは趣味でもちゃんとしたほうがイイですよ。
skm

2018/03/26 12:00

コメントありがとうございます。 CIについて解説しているサイトでもひと手間加えて初期状態のフォルダ構成からindex.phpとライセンスを残してドキュメントルート外に置く方法など紹介されていたのですが、解説通りに試したつもりでも動かず、諦めていました。 おっしゃる通り、趣味でも妥協したくないのでまたチャレンジしてみようと思います。
退会済みユーザー

退会済みユーザー

2018/03/26 13:24

私の回答のコメントに合わせて返信しました。参考まで。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問