- 締切済み
mod_rewriteで静的化(PHP)
ご質問です。 例えば以下のような静的なページをmod_rewriteを使って.htaccessで作成しようとしています。 RewriteRuleの記述内容がよくわからず困っています。 また、.htaccessは、どのディレクトリに配置すればよいでしょうか。 どなたかご存知でしたら教えて下さい。 http://localhost/free/index.php?action=member →http://localhost/free/member http://localhost/free/index.php?action=bbs →http://localhost/free/bbs http://localhost/free/index.php?action=usr →http://localhost/free/usr このような記述をしていますが、ご指摘お願いします。 ---------------------- DirectoryIndex index.php RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([0-9A-Za-z)]+)$ index.php?action=$1 [L] ---------------------- 宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- SeafooD3
- ベストアンサー率75% (6/8)
こんにちは。 action=[値]のルールが常に固定のものであることを前提にルールを記述すると、単純に下記のようになります。 RewriteEngine on RewriteRule ^member index.php?action=member RewriteRule ^bbs index.php?action=bbs RewriteRule ^usr index.php?action=usr /http://*/memberにアクセスすると、getでactionにmemberが渡されています。 index.phpに print_r($_GET)として確認すると簡単です。 ディレクトリ構造がわからないのでなんともいえませんが.htaccessについては、該当ファイルがあるところに設置すればよろしいと思います。 その他、mod_rewriteについては、Apacheのバージョン 1.x系と2.x系で記述方法に違いがあった記憶があります。