mod_rewriteを使う
動的URLを静的URLに見せたいなぁとか思ってmod_rewriteを使ったのでメモ。
散々エラー出しまくって、結局サーバーの設定で蹴られてたというオチ。
mod_rewriteが使えるか確認
サーバーが直接扱えるならhttpd.confを開いてrewrite_moduleを有効にする。
コメントを外す→LoadModule rewrite_module modules/mod_rewrite.so
ユーザーレベルなら以下のスクリプトで確認する。
<?php print_r(apache_get_modules()); ?>
ここでmod_rewriteが出れば稼動している。
改行コードの確認
ファイル名がhtaccessだとバイナリとして扱われたりするので、htaccess.txtにするか、テキストとしてアップロードする。
AllowOverrideのパラメータ確認
AllowOverride FileInfo Options
にする。
文法の確認
正規表現が間違ってないかとか確認する。
サンプル
サンプルというか、ほとんどそのまま。
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /hoge.cgi?$1 [L]