- ベストアンサー
CodeIgniterでエラーが発生!URL簡素化の方法とは?
- CodeIgniterというフレームワークを利用してサイトを作成しようとしているが、うまく行かない。
- index.phpファイルと.htaccessファイルの内容を調べたが、エラーが発生してしまう。
- URL簡素化の方法には2つのパターンがあり、どちらが正解かわからない。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まず、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)
- 6cc70ef9d187
- ベストアンサー率100% (10/10)
.htaccessでの記述では「 (index 」の前の「 / 」スラッシュは不要のようです。 httpd.conf で記述する場合に必要でした。