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

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

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

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

CodeIgniter

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

Q&A

2回答

2841閲覧

CodeigniterでURIルーティングがうまく動作しない。

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

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

CodeIgniter

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

0グッド

1クリップ

投稿2017/07/10 17:01

CodeigniterでURIルーティングをやろうとしておりますが、うまく動作せず詰まりました。
私のプロジェクトのディレクトリ構成は下記となっております。

application config └ routes.php controller └ Users.php public_html(ドキュメントルート) └ index.php

これのUser.phpのメソッドget_listを呼び出したくroutes.phpに下記を追加しました。

php

1$route['users/list'] = 'users/list';

そして、(私のサーバーのドメイン)/users/list/にアクセスしましたが、404エラーが出ます。
また、routes.phpの$route['default_controller']を下記の用に変更し私のサーバーのドメインにアクセスすると普通に上記のメソッドの結果が表示されます。

php

1$route['default_controller'] = 'users/list';

このことから、routes.phpは機能していて$routeに追加するキーと値に問題があると思っておりますが、原因がよくわかりません。どなかご教示をお願いします。

ちなみにUser.phpのUserクラスは下記です。

php

1class Users extends REST_Controller { 2 3 function __construct() 4 { 5 parent::__construct(); 6 } 7 8 public function list_get() 9 { 10 $users = [ 11 ['id' => 1, 'name' => 'John', 'email' => 'john@example.com', 'fact' => 'Loves sax'], 12 ['id' => 2, 'name' => 'Jim', 'email' => 'jim@example.com', 'fact' => 'Loves guitar'], 13 ['id' => 3, 'name' => 'Miles', 'email' => 'miles@example.com', 'fact' => 'Loves trumpet'] 14 ]; 15 16 if (!empty($users)) { 17 $this->set_response($users, REST_Controller::HTTP_OK); 18 return; 19 } 20 $this->set_response([ 21 'status' => false, 22 'message' => 'No users were found', 23 ], REST_Controller::HTTP_NOT_FOUND); 24 } 25}

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

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

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

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

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

maisumakun

2017/07/10 22:46

CodeIgniterのバージョンは2系列ですか、3系列ですか?
退会済みユーザー

退会済みユーザー

2017/07/11 01:25

CodeIgniterのバージョンは3系列です。
maisumakun

2017/07/11 02:38

REST_Controller、というのはどのようなライブラリでしょうか(CodeIgniterの標準ではなかったはずです)。
guest

回答2

0

config.phpの設定はされていますか?

index.phpを除去するには.htaccessの設定と

$config['index_page'] = 'index.php';

$config['index_page'] = '';
としなければいけなかった気がします。

投稿2018/07/12 04:17

HiguchiKeita

総合スコア36

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

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

0

このUserクラスであれば、(私のサーバーのドメイン)/users/list_get/ でアクセスする必要があるのでは?

それでもダメなら .htaccess を設置していない可能性もありますね。
http://www.codeigniter.com/userguide3/general/urls.html?highlight=htaccess#removing-the-index-php-file

投稿2017/07/10 23:58

hideyuki.motoo

総合スコア72

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

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

退会済みユーザー

退会済みユーザー

2017/07/11 02:33 編集

ご回答ありがとうございます。 .htaccessを設置してないのが原因かもしれません。(私のサーバーのドメイン)/index.php/users/list/でアクセスできたので。ググって.htaccessを設置しましたが、うまくいかない状況で調査中です。
hideyuki.motoo

2017/07/11 02:39

あ。CI_Controller じゃないんですね。 ちょっと変な解答をしてしまったかもしれません。失礼しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問