.htaccessファイルは、index.phpと同じディレクトリの「/rs」フォルダに配置する必要があります。
有効な書き換えログを試してみましたが、アクセスしようとすると、そこで見たものが表示されますlocalhost/test/user
。
:: 1 --- [2012年10月12日:09:53:11 +0400] [localhost / sid#68a898] [rid#1cc4d48 / initial](3)[perdir D:/ Development / htdocs /test/]ストリップディレクトリごとのプレフィックス:D:/ Development / htdocs / test / user-> user
:: 1 --- [12 / Oct / 2012:09:53:11 +0400] [localhost / sid#68a898] [rid#1cc4d48 / initial](3)[perdir D:/ Development / htdocs /test/]適用パターン'^/$'からuri'ユーザー'
:: 1 --- [2012年10月12日:09:53:11 +0400] [localhost / sid#68a898] [rid#1cc4d48 / initial](3)[perdir D:/ Development / htdocs /test/]ストリップディレクトリごとのプレフィックス:D:/ Development / htdocs / test / user-> user :: 1 --- [12 / Oct / 2012:09:53:11 +0400] [localhost / sid#68a898] [rid#1cc4d48 /初期](3)[perdir D:/ Development / htdocs /test/]パターン'^/([az] +)$'をuri'user'に適用
:: 1 --- [2012年10月12日:09:53:11 +0400] [localhost / sid#68a898] [rid#1cc4d48 / initial](3)[perdir D:/ Development / htdocs /test/]ストリップディレクトリごとのプレフィックス:D:/ Development / htdocs / test / user-> user
:: 1 --- [12 / Oct / 2012:09:53:11 +0400] [localhost / sid#68a898] [rid#1cc4d48 / initial](3)[perdir D:/ Development / htdocs /test/]適用パターン'^/([az] +)/ $'to uri'user'
:: 1 --- [2012年10月12日:09:53:11 +0400] [localhost / sid#68a898] [rid#1cc4d48 / initial](1)[perdir D:/ Development / htdocs /test/]パスD:/ Development / htdocs / test/userを介して
最初の行から、mod_rewriteが「/」で始まるストリッピングを行っており、「/user」ではなく「user」を取得していることは明らかです。したがって、書き換えルールは「/」なしで記述する必要があります。つまり、次のようになります。
RewriteEngine On
RewriteRule ^$ index.php
RewriteRule ^([a-z]+)/?$ index.php?page=$1
また、「/?」と書くことで最後の2つのルールを組み合わせたことにも注意してください。つまり、URLの最後にある「/」記号はオプションです。
リライトログをオンにするには、httd.confファイルに次のように設定します。
#
# Logging for mod_rewrite
# Use RewriteLogLevel 3 only for debug purposes
# Normally use RewriteLogLevel 0
#
<IfModule rewrite_module>
RewriteLogLevel 3
RewriteLog "logs/rewrite.log"
</IfModule>
そうすれば、ログはlogs/rewrite.logファイルに作成されます。そして、これは通常、何がうまくいかないかを調べるための最良の方法です。