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

mod_rewriteに関する質問です。

Lingrのログを読むアプリを作っています。とりあえず、以下のようにルーム名をパラメータとして指定すれば直近200件(デフォルト)のログを表示できている状態です。

/app_dir/view?room=kenn

さて、これをmod_rewriteを使って

/app_dir/view/kenn

とアクセスしてもOKなようにしたいと思っています。.htaccessは以下のように書いてみました。

Options +MultiViews
RewriteEngine on
RewriteBase /app_dir
RewriteRule ^view/([0-9a-zA-Z]+)/?$ view?room=$1 [L]

ところが、/app_dir/view/kennでアクセスすると「ページのリダイレクト設定が正しくありません。このアドレスへのリクエストに対するサーバのリダイレクト設定がループしています。」(Firefox)とエラーになってしまいます。どこがまずいでしょうか?ご教示の程よろしくお願いします。

●質問者: mine-D
●カテゴリ:ウェブ制作
✍キーワード:.htaccess firefox KENN Lingr mod_rewrite
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● b-wind
●35ポイント
/app_dir/view?room=kenn

拡張子等はついていませんが何か設定されていますか?


Alias 等ほかの Apatch の設定を反映させるには PT オプションが必要です。

RewriteEngine on
RewriteBase /app_dir
RewriteRule ^view/([0-9a-zA-Z]+)/?$ view?room=$1 [PT,L]

でどうでしょう?

◎質問者からの返答

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

わたしの理解では「Options +MultiViews」で拡張子が省略できるはずですので、あえてviewのみにしています。つまり、実際には「view.php」が実行されています。これに関しては他のアプリで実装して問題ない事を確認しています。

PTオプションを追加してみたのですが、結果は同じでした。うーむ、どうなんでしょう。正規表現の部分は問題ないでしょうか?あるいは他の原因でしょうか…。


2 ● tezcello
●50ポイント ベストアンサー

先ずは MultiViews, RewriteRule を単独で記述して機能しているかを調べてみてはどうでしょうか?

(MultiViews が機能するかは確認済みだそうですが、問題のディレクトリで上手くいってますか?)

ループしているという事から、上位のディレクトリで何かやっているような気もするのですが。


共存が問題点であれば、

RewriteRule ^view/([0-9a-zA-Z]+)/?$ view.php?room=$1 [L]

とすれば、(拡張子を加える為だけに使われているのだとすれば)MultiViews は不要ですよね。

◎質問者からの返答

おお!おっしゃるように特に必要ないと思われましたのでとりあえずMultiViewsをコメントアウトして試したところ、きちんと動作しました!ありがとうございます。感謝です!

関連質問


●質問をもっと探す●



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