技能五輪ウェブデザインに向けて(2)
技能五輪ウェブデザインに向けて(2)
【技能五輪ウェブデザイン】
Windows10(VirtualBox5.1.18+vagrant1.92)htaccessを設定し、REST化する方法
※これは vagrant と virtualbox でWebサーバー環境を構築している前提で行います。
※vagrant up 済の状態で開始します。
1:まずは、vagrant reloadで起動する
DOSプロンプトから、vagrant reload で起動する
2:VirtualBox画面上で、SHELL画面を起動する
仮想OS上のコンソール画面で操作します。キャプチャからWindowsのほうへ制御復帰するには、キーボード上の右側のCTRLキーで復帰します。
キャプチャボタンを押してしまうと、制御が仮想OSのほうに移ります。
ユーザーID:vagrant
パスワード:vagrant
カーソルが動きませんが、ちゃんと入力は受け付けております。
画面上で、
sudo vi /etc/httpd/conf/httpd.conf
と入力し、ファイルの編集に入ります。
パスワード:vagrant
カーソルが動きませんが、ちゃんと入力は受け付けております。
画面上で、
sudo vi /etc/httpd/conf/httpd.conf
と入力し、ファイルの編集に入ります。
上下左右のキーでスクロールしていき、最初に AllowOverride None と書いてあるところを探します。
AllowOverride None
と書いてある部分を None → All に変更します。
と書いてある部分を None → All に変更します。
さらに下へスクロールしていき、同じように AllowOverride None と書いてあるところを探します。
AllowOverride None
と書いてある部分を None → All に変更します。
合計二か所変更いたします。
と書いてある部分を None → All に変更します。
合計二か所変更いたします。
変更が終了したら、ESCキーを押し、:w と入力します。(Windows上では、 SHIFT+; で : と表記します)
ENTERキーで確定します。
ENTERキーで確定します。
確定すると、上記のようなファイルを書き込んだという旨の表示になります。
:q と入力します。(Windows上では、 SHIFT+; で : と表記します)
ENTERキーで確定します。
ENTERキーで確定します。
カーソルに戻ってきます。そのまま、このキャプチャ画面の抜けるため、キーボード上の右側のCTRLキーを押して制御をWindowsに戻します。
キャプチャ画面を抜けて、閉じる動作(保存)を選択してください。
再び、vagrant reload で再起動します。
3:ローカルサーバー上のフォルダに .htaccess ファイルを配置
今回使用したローカルサーバーフォルダは
D:¥LWS¥wd¥public¥REST
だったので、そのフォルダに .htaccess ファイルを配置します。
なんでも、index.php に記述を集めようという方法です。
D:¥LWS¥wd¥public¥REST
だったので、そのフォルダに .htaccess ファイルを配置します。
なんでも、index.php に記述を集めようという方法です。
4:http://192.168.33.10/REST/index.php にアクセスしてみる
JSONデータが全部表示されています。
JSONの表示には、PHPで以下のような記述にしております。
header("Content-Type: application/json; charset=utf-8");
print $json;
JSONの表示には、PHPで以下のような記述にしております。
header("Content-Type: application/json; charset=utf-8");
print $json;
5:http://192.168.33.10/REST/jakune/main/mio にアクセスしてみる【固有ユーザー名にアクセス】
テーブル内の mio という名前のユーザー情報だけ表示
6::http://192.168.33.10/REST/jakune/main/2 にアクセスしてみる【2番目のユーザーにアクセス】
テーブル内の id=2 のユーザー情報だけ表示
- ※結論:vagrant も xampp も htaccess だけで REST は実現できる。
- ※RESTのため、$_SERVER['REQUEST_METHOD']の値を見てCRUD対応。
- ※HTMLのFormからは GET / POST しか送信できない。
- ※JSのAjaxから GET / POST / PUT / DELETE を送信する方法が1つ。
- ※FormのHIDDENパラメータから PUT / DELETE を送信して、$_SERVER['REQUEST_METHOD']を上書きする方法が2つめ。
- ※どうやら技能五輪は、GETだけで良さそう。