サイトのリニューアルやってます。
結論です。時間がかかるので、CakePHPの導入はいったん取りやめます。
既存データの移行やら他にもいっぱいやることあるんで、とりあえず今回は、
以前自分で作ったPHPの登録ライブラリを流用することにしました。
負けではない。勇気ある撤退なのですw。
今は時間優先で、いつか後でやります(^^;)
ただし、そもそもCakePHPを使おうとした主な理由が、URLにプログラムの引数である?を
入れたくない、というのがあったので、そこは、.htaccessを工夫してみました。
今まで使ってたperlプログラムは、「product.cgi?id=xxx」ってかんじのやつで、
Google先生は問題なく拾ってくれているように見えてます。
でも調べてみたらやはり、?付きの動的ページはサイトによって上限数が決まっていて、
動的ページは検索に不利という噂は本当みたいです。(千件くらいは大丈夫みたいだけど…)
他の検索サイトは調べてないけど、?や=や&のついたURLは検索に不利というのが定説ですね。
とりあえず、「xxx.php?id=xxx」を使わない方法を導入することにしました。以下は例。
(※以下はサイトサーブで使える方法で、mod_rewriteがONである必要があります。
他にもAddTypeをいじる方法等がありますが、サイトサーブでは効きませんでした。)
/product/というディレクトリの下に、index.phpという名前で商品表示プログラムを置きます。
引数は「id=商品ID」で受け取ります。
通常は、http://xxx.co.jp/product/index.php?id=AD1234(商品ID)
というようなURLになるはずです。
/product/.htaccess を配置します。内容は下記のとおり。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /product
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([A-Za-z0-9]+)\.html$ index.php?id=$1 [L]
</IfModule>
これで、http://xxx.co.jp/product/AD1234.html(商品ID)というアクセスが可能になり、
あたかもhtmlファイルを読んでいるようで、実際はphpで動的ページを作ってることになります。
あ、ちなみに商品ページへのリンク元の記述を全部、http://xxx.co.jp/product/xxxx.html
にしとかないと、全くやる意味はありません。当然ですが(^^;)