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

mod_rewriteを使って、動的URLから静的URLにしようとしました。

しかし、動的ページである***/index.php?mode=result_view&start=1&end=8&now=2&sort_text=newを、静的ページ***/mode-start1-end8-now2-sort_text_new.htmlにしようと以下のように設定しましたが、うまくいきません。

RewriteRule ^mode-start([0-9]+)-end([0-9]+)-now([0-9]+)-sort_text([0-9A-Za-z]+).html+ index.php?mode=view_result&start=$1&end=$2&now=$3&sort_text=new

なぜかどの静的URLを開いても、***/index.phpのページしか表示されないのですが、どのように設定すればいいのでしょうか?

ちなみに、このページは、絞込み検索用ページで、検索結果を複数ページに分割表示させています(pagenationさせています)。


●質問者: maxikira
●カテゴリ:ウェブ制作
✍キーワード:HTML INDEX mod_rewrite PHP URL
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● b-wind
●27ポイント
RewriteRule ^/mode-start([0-9]+)-end([0-9]+)-now([0-9]+)-sort_text([0-9A-Za-z]+)\.html index.php?mode=view_result&start=$1&end=$2&now=$3&sort_text=new [L]

はてな記法の都合で&を全角表記してあるので半角に差し替えてください。


先頭マッチなら、スラッシュもいると思う。

あと、ドットをエスケープするのと html の後ろの + は不要。

http://www.net-newbie.com/trans/mod_rewrite.html

◎質問者からの返答

ありがとうございます。やってみたのですが、先頭のスラッシュを入れるとうまく表示されず、スラッシュをとると、やはりindex.phpがひょうじされてしまうようです。。


2 ● kilrey
●27ポイント

http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

URLはマニュアルです。

アンダーバーが一つ抜けていませんか?

RewriteEngine on
RewriteRule ^mode-start([0-9]+)-end([0-9]+)-now([0-9]+)-sort_text_([0-9A-Za-z]+)\.html index.php?mode=view_result&start=$1&end=$2&now=$3&sort_text=$4

という.htaccess(&は半角にしてください)を使ったら望む通りに動きましたよ。

環境はApache2.0 on Fedora Core 2です。

ちなみに以下のようなindex.phpを使いました。

<?php
var_dump($_GET);
?>

http://localhost/mode-start1-end8-now2-sort_text_new.htmlにアクセスした結果は

array(5) { ["mode"]=> string(11) "view_result" ["start"]=> string(1) "1" ["end"]=> string(1) "8" ["now"]=> string(1) "2" ["sort_text"]=> string(3) "new" }

でした。

◎質問者からの返答

ありがとうございます。

よくわかりました。


3 ● stephanie
●26ポイント

/mode-start1-end8-now2-sort_text_new.html

でアクセスするためにはsort_textのあとのアンダバーが抜けているようです。

これでいかがでしょうか?

RewriteEngine on
RewriteRule ^mode-start([0-9]+)\-end([0-9]+)\-now([0-9]+)-sort_text_([0-9A-Za-z]+)\.html index.php?mode=view_result&start=$1&end=$2&now=$3&sort_text=$4

http://q.hatena.ne.jp/1168415270

◎質問者からの返答

ありがとうございます。

関連質問


●質問をもっと探す●



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