• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CodeIgniterでエラー)

CodeIgniterでエラーが発生!URL簡素化の方法とは?

このQ&Aのポイント
  • CodeIgniterというフレームワークを利用してサイトを作成しようとしているが、うまく行かない。
  • index.phpファイルと.htaccessファイルの内容を調べたが、エラーが発生してしまう。
  • URL簡素化の方法には2つのパターンがあり、どちらが正解かわからない。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

まず、controllers/index.php ですが、PHPではクラス名と同名のメソッドはコンストラクタ扱いされます。 従って、「 Index 」クラスで「 index() 」メソッドを定義する場合は、「 __construct() 」を定義しないと親クラスである「 CI_Controller 」のコンストラクタが処理されません。 class Index extends CI_Controller { public function __construct() { parent::__construct(); } public function index() { $this->load->view('index'); } } .htaccessですが、 本家のマニュアルに記載されている「 mod_rewrite 」の記述は間違っています。 正しくは↓です。 RewriteEngine on RewriteCond $1 !^/(index\.php|php\.php|favicon\.ico|images|css|js|sitemap.xml|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L] 「 RewriteCond 」の「 (index 」の前に「 / 」スラッシュが必要です。 詳しくは http://www.ci-guide.info/basic/controller/ http://www.ci-guide.info/basic/uri/ こちらのサイトを参考になさると良いかもしれません。

参考URL:
http://www.ci-guide.info/

その他の回答 (1)

回答No.2

.htaccessでの記述では「 (index 」の前の「 / 」スラッシュは不要のようです。 httpd.conf で記述する場合に必要でした。

関連するQ&A