人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

WinXPに、XAMPPでアパッチ+PHPの開発環境を作っています。

mod_rewriteを使うため、
apache/conf/httpd.confで、

LoadModule rewrite_module modules/mod_rewrite.so

のコメントアウト解除をしましたが、どうにもうまくいきません。

mod_rewriteを有効にする際、
他に注意する点がありましたらご教授ください。

やりたいことは、.htaccessで、

RewriteEngine on
RewriteRule ^([0-9]+).html$ index.cgi?keyword=$1 [L]

という処理です。


●質問者: webuser
●カテゴリ:ウェブ制作
✍キーワード:.htaccess Apache CGI HTML httpd
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● tezcello
●60ポイント

上手くいかないのは、rewriteモジュールの組み込みなのか、rewrite の動作なのかどちらでしょうか?


まずは、apache 起動時のログを良く見てみるといいでしょう。


ルールの書換え後のアドレスは、フルパスで書くようになっていと思いますが大丈夫ですか?

RewriteBase が無くてもサイト構成によっては問題無いでしょうけど。

◎質問者からの返答

ご回答ありがとうございます。

その後の調査で、mod_rewrite自体は

うまく機能していることが分かりました。

例えば、

http:/〜/abc.html→http:/〜/index.cgi?keyword=abc

にアクセスします。

しかし、下記のように、%が含まれる場合は、

403が返ってきてしまいます。

http:/〜/%A4%A2.html→403Forbidden

この原因はどこにあるのでしょうか。

ちなみに、スクリプトは、Linuxで正常に稼動しています。


2 ● tezcello
●60ポイント

mod_rewrite は無事に動いているなら、.htaccess の方だけですね。


では、403は .htaccess の記述が原因なのかのチェックをします。


例のルールでは 0123.html のように数字だけの基本部+html の場合、index.cgi に keyword という名前のパラメータとしてその数字を渡すという事ですよね?

0123.html の場合、キチンと渡せてますか?

また、%A4%A2.html は対象外なので無視されるはずですが、

このルールを記入した .htaccess が存在する場合は403で、無い場合は問題なく表示できるのでしょうか?

%A4%A2.html ということは、デコードすると あ.html になると思うのですが、これで正しく表示できるのとは思えないのですが。

◎質問者からの返答

ご回答ありがとうございます。

大変失礼しました。

RewriteRuleに変更を加えておりました。

今検証中のものは次のようになります。

RewriteRule ^(.+).html$ http://127.0.0.1/index.cgi?keyword=$1 [L]

この実行結果は、

----------------------------------------------------------------------

Forbidden

You don’t have permission to access http://127.0.0.1/■¢.html on this server.

----------------------------------------------------------------------

となり、■の部分は、太陽のような文字化けになっています。

このソースを見ると、

----------------------------------------------------------------------

Forbidden

You don’t have permission to access http://127.0.0.1/あ.html on this server.

----------------------------------------------------------------------

になっています。

参考までに、0123.htmlでは、index.cgi?keyword=0123が動作しました。

想像ですが、.htaccessで勝手にURLデコードされていると思ってしまいました。

これは何が原因でしょうか。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ