mod_rewriteでcgiを静的ページに変換する

仕事が一段落したので、今自分のサイトの更新をしています。

以前より、書き込むのが便利だったのでcgiで記述していた
インテリアのコンテンツなのですが、かなりの量を書いているにも
関わらず一向に検索エンジンにHITしない状態でしたので
全てhtmlに変更したいと考えました。

しかし全部書き換えとなると膨大な手間と時間がかかります。

しかし、ネットで調べていると
「mod_rewrite」なるものがあると発見。
これは、要するにcgiの = や ? が、検索エンジンは嫌って
拾わないので(これには理由があります)htmlに「ダマシ」で:cool:
飛ばしちゃおう、という事です。

参考サイト
http://rinn.e-site.jp/rnote/tips/
>http://tech.bayashi.net/svr/doc/apache/mod_rewrite.html
>http://crenazumina.picolix.jp/archives/000128.html

詳しくは参考サイトをご覧頂きたいのですが、
.htaccessファイルを作成し、そこに記述して
アップロードするだけという、なんともマジックのような:mrgreen:
簡単さです!

でも、かなり苦労した事が、、、。

ひとつは、そのカテゴリーが
/~以下にあった事。
そのせいかどうか、

You don’t have permission to access /~○○○○/ on this server

が出てつながりません。

これは

以下のRewriteBase /~ttt/jjjj/の記述で回避できました。

DirectoryIndex yyy.cgi
RewriteEngine on
RewriteBase /~ttt/jjjj/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/([0-9A-Za-z)]+)/([0-9A-Za-z)]+)/([0-9A-Za-z)]+).html$ yyy.cgi?www=$1&xxx=$2&ggg=$3&hhh=$4 [L]

又、↑の yyy.cgi?www=$1 の部分は変数の無い「文字」となっています。
はっきりとは分からないのですが(すみません)(.*)を記述して
みるとOKでした。