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

.htaccessと正規表現の質問です。

a)のURLをb)でもアクセスできるようにするにはどのようにしたらよいでしょうか?
a)
http://example.com/shop/p_image/1p1.jpg
http://example.com/shop/more_img/08-46.jpg
http://example.com/shop/shop.cgi?class=all&keyword=&superkey=1&id=105&mode=p_wide

b)
http://example.com/shop/item/199/p_image/1p1.jpg
http://example.com/shop/item/6/more_img/08-46.jpg
http://example.com/shop/item/105/

http://example.com/shop/に以下のように.htaccessを置いてみました。
RewriteEngine on
RewriteRule item/(.*)/$ http://example.com/shop/shop.cgi?class=all&keyword=&superkey=1&id=$1&mode=p_wide
RewriteRule item/.*/(.*)$ http://example.com/shop/$1

3番目のhttp://example.com/shop/shop.cgi?class=all&keyword=&superkey=1&id=105&mode=p_wideに関してはhttp://example.com/shop/item/105/でアクセスできたのですが、残りのjpg画像がうまく行きません。
関係ないかもしれませんがサーバはsakura、OSはWinXPです。
どのように書けばよいか教えていただければ幸いです。

●質問者: icta
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:.htaccess jpg ON OS Sakura
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● y-kawaz
●10ポイント
RewriteRule item/.*/(.*)$ http://example.com/shop/$1

↑これを、↓こういう風に変えればいいと思います

RewriteRule item/.*?/(.*)$ http://example.com/shop/$1

元のパターンの問題点は http://example.com/shop/item/199/p_image/1p1.jpg を例に説明すると、

あと、このままでも動きますが、RewriteRule の2番目の引数の http://example.com/shop/ の部分は不要だと思いますよ。

◎質問者からの返答

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

早速試してみたのですが残念ながら404エラーとなってしまいました。

何か環境によって違うのか、それとも他のhtaccessが原因なのがよくわからないので調べてみます。


2 ● b-wind
●100ポイント ベストアンサー

なんか一部だけ出されてもよくわからんが、

RewriteEngine On
RewriteBase /shop/

RewriteRule item/[0-9]+/(.+\.jpe?g)$ $1 [L]
RewriteRule item/([0-9]+)/$ shop.cgi?class=all&keyword=&superkey=1&id=$1&mode=p_wide [L]

こんなの?

◎質問者からの返答

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

質問の条件では希望通りの動作をしたのですが、今度は今まで問題なかった以下の部分が表示されなくなりました。

こちらの条件を追加するにはどうしたらよいのでしょうか?

a)のURLをb)のURLでもアクセスできるようにする。

a) http://example.com/shop/convert.cgi?src=./m_image/98.jpg&w=105&h...

b) http://example.com/shop/item/178/convert.cgi?src=./m_image/98.jp...

以下の1行を加えてみましたが動作しませんでした。

RewriteRule item/[0-9]+/(.+=)$ $1 [L]

お手すきの時に教えていただければ幸いです。

関連質問


●質問をもっと探す●



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