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

mod_rewriteについて質問です。
日本語文字列をurl_encodeしたものを引数に含めたURLをmod_rewriteで転送させようとするとエラーになります。

http://www.hoge.com/%82%A0.html
を以下にしたいのです。
http://www.hoge.com/entry.php?ID=%82%A0

.htaccessの設定ファイルは以下の通りです。

Options -Indexes +SymLinksIfOwnerMatch
<IfModule mod_rewrite.c>

<IfModule mod_dir.c>
DirectoryIndex index.php
</IfModule>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*).html$ entry.php?ID=$1 [L]

</IfModule>

引数が英数字だとうまく転送されています。例えば

http://www.hoge.com/aaa.html

です。
これはどのように解決できますでしょうか。
みなさんよろしくお願い致します。

●質問者: tokyosmash
●カテゴリ:インターネット ウェブ制作
✍キーワード:.htaccess HTML INDEX mod_rewrite ON
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● t_shiono
●60ポイント

手元の環境では、次のようなentry.phpを作成したところ、


<html>
 <body>
 
id :
</body> </html>

http://XXXX/%E3%81%82%E3%81%84%E3%81%86.html

できちんと、

id : あいう

と表示されました。

エラーになるとのことですが、どのようなエラーでしょうか?

entry.phpの実行によるエラーではないでしょうか?

◎質問者からの返答

回等ありがとうございます。また、わざわざ試していただきありがとうございます。


エラーの内容ですが、ブラウザは404を返してきます。そして「引数が英数字」だとエラーは発生しません。

Urlencodeされた文字を引数に含めている場合のみエラーになります。


エラーの詳細はApacheのrewrite.logに(コメント欄に追記しております)書かれていると思うのですが、3行目辺りから怪しい文が出てきます。


別の環境(Xrea)では問題なく転送できるのですが。local(Win)上にXAMPPで構築したApacheではエラーになってしまいます。設定が必要なのでしょうか。


何か些細な事でもいいのでヒントを頂けるとありがたいです。お気軽に回等下さい。みなさんよろしくお願い致します。

関連質問


●質問をもっと探す●



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