• ベストアンサー

mod_rewriteでアドレスを隠す・・・

mod_rewriteで、たとえば、 sample.php?id=123 というのを sample/123.html と書き換えるようなruleを追加します。 このとき、 アドレス欄に 「sample/123.html」と入れれば、アクセスできるが、 「sample.php?id=123」 というアドレスを打ち込んでも、 アクセスできないようにする方法はありますか? つまり、元のアドレスやパラメータを探られないようにする方法はありますか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

mod_rewriteでも出来ないことはないですが、ScriptAliasMatchとかで良いんじゃないですかね? ScriptAliasMatch sample/[0-9]+\.html$ /var/www/html/sample.php sample.phpの方では $id = basename($_SERVER['REQUEST_URI'],".html"); でIDの取得が出来ると思います。 mod_rewriteだと RewriteEngine on RewriteRule sample/[0-9]+\.html$ /var/www/html/sample.php でしょうか。 取得は同じで $id = basename($_SERVER['REQUEST_URI'],".html"); こんな感じで取れると思います。

関連するQ&A