kazpgmの日記

『プログラム自動作成@自動生成』作成の日記

TOOL更新_”/”区切のURLについて。解決した。SEO対策ってことだった。

TOOL更新_”/”区切のURLについて。解決した。SEO対策ってことだった。
1.「・・・/logininfo/LogininfoController.php」の「indexAction()」アクションメソッドを動かすのに以下の3種類のURLが使える。
  ①indexを省略して”?”を使用して以降に”&”区切りでパラメータを羅列する。
   http://・・・/logininfo/logininfo?mode=detail&login_id=admin01
  ②/index(アクション名までがURL)を書いて”?”を使用して以降に”&”区切りでパラメータを羅列する。
   http://・・・/logininfo/logininfo/index?mode=detail&login_id=admin01
  ③/index(アクション名)以降全部”/”区切りでパラメータを羅列する。
   http://・・・/logininfo/logininfo/index/mode/detail/login_id/admin01

2.これは過去に"/"でアクションまでURLにしたいと考えた人がいたということ。その人は②をやりたかった。 ③は②をやったおまけ、これもできるようになった。ということ。 (”これもできるようになった”というのは推測なので。何か別の理由があるかもしれない)。 ②がほしかったというのが一番の理由だということ。 <=今日、会社の人に聞いた話。たぶん、そうだとおもう。今のframeworkのURLは、ほとんどこのようになっている。<=1年考えていた、なぜだろう。が、今日解決した。・・・(省略)。

3.GoogleAnalyticsなどのアクセス解析でPOSTしたURLが同じならば同じアクセス件数になる。検索したアクセス人数、更新したアクセス人数を知るには別のURLにする必要がある。 ・・・余談だけど、GoogleAnalyticsでは、GETなら”?”以降の”&”も含めた全部がアクセス解析される。

4.以下のようにしておけばそれぞれのアクセス人数を知ることができる。一例を挙げると、買い物かごに入れた人、実際に買い物した人のアクセス人数を把握したい。ということになったとき。同じPHPで処理して同じアクションメソッドでPOSTを使用していれば同じURLなので把握することはできない。そこでアクションメソッドを変えてURLを別々にする、
 買い物かごに入れた人:http://・・・/[ 買い物コントローラ名 ]/[ かごに入れるアクション名 ]?xxxx=xxx
 実際に買い物した人 :http://・・・/[ 買い物コントローラ名 ]/[ 購入するアクション名 ]?xxxx=xxx

5.お助けTOOLではhttp://・・・/[ コントローラ名 ]/index?xxxx=xxx一つで処理しているのでこれができないだろうって思うだろうけど。できる。できるように今「ControllerABase.php」に以下アクションメソッドを追加した。例も記述した。http://d.hatena.ne.jp/kazpgm/20100121/1264095498の「ControllerABase.php」を書き換えた

    //-----------------------------------------------------------------------------------------------
    // ここからのActionメソッドは、アクセス解析用に固定URLを使う場合使用してください。
    // 使用例:htmlのformタグを<form name="frm" id="frm" method="post" action="以下URL参照">にする。
    //   通常使用する(自動作成◎自動生成される)URLは/[ コントローラ名 ]です。(indexが省略されています)
    //   これを、以下のように各アクションを記述したURLに変更するとそのURLでアクセス解析できます。
    //   (アクセス解析したいアクションだけに使用してください。
    //    たぶん使用する箇所は、ユーザ側でアクセス解析が必要なところだけになると思います。)
    //     ・新規登録しようとしたURL:/[ コントローラ名 ]/ins
    //     ・実際に新規登録したURL :/[ コントローラ名 ]/insdo
    //     ・変更登録しようとしたURL:/[ コントローラ名 ]/upd
    //     ・実際に変更規登録したURL:/[ コントローラ名 ]/upddo
    //-----------------------------------------------------------------------------------------------

    // 一覧アクション
    public function listAction() {
        $this->indexAction();
    }

    // 検索実行アクション
    public function listdoAction() {
        $this->indexAction();
    }

    // 一覧昇順降順アクション
    public function listupdwnAction() {
        $this->indexAction();
    }

    // 詳細、変更から戻ったときアクション
    public function listbackAction() {
        $this->indexAction();
    }

    // 登録アクション
    public function insAction() {
        $this->indexAction();
    }

    // 登録の実行アクション
    public function insdoAction() {
        $this->indexAction();
    }

    // 変更アクション
    public function updAction() {
        $this->indexAction();
    }

    // 変更の実行アクション
    public function upddoAction() {
        $this->indexAction();
    }

    // 削除の実行アクション
    public function deldoAction() {
        $this->indexAction();
    }

    // 詳細の実行アクション
    public function detailAction() {
        $this->indexAction();
    }

    // CSVダウンロードの実行アクション
    public function csvAction() {
        $this->indexAction();
    }

6.ver0.1のお助けTOOLではできないだろうと思われるだろうが。・・・驚くほど簡単にできる。そう、これに気づいたとき、phpってこんなにお手軽なんだと感心した記憶がある。以下URLのアクセスカウントを解析したいとき

http://kazpgm.ddo.jp/kaz01u/admin/corp/corpA.php?mode=detail&corpcd=A0907030001

以下のような「corpADetail.php」というのを作り。

//■corpADetail.php
<?php
require_once('./corpA.php');

htmlのformタグを

<form name="frm" id="frm" method="post" action="corpADetail.php">

にする。もちろんmode、corpcdはhiddenを使って送る様にする。javascript使ってサブミットさせるのだけど。そこは定番のやり方なので省略。

 ■サイト:http://kazpgm.ddo.jp/

4/28 23:00-02:00
4/29 08:00-10:00 6.ver0.1のお助けTOOLでは・・・以降を追記した。