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

.htaccess、RewriteRule についてです。
/hoge/?x=xxx というURLを /foo/xxx にリダイレクトしたい場合の書き方を教えて下さい。

RewriteRule ^/?hoge/??x=(.*) /foo/$1 [R=301,L]
では上手く行きませんでした。

よろしくお願いします。

●質問者: worldtravel
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● パパトモ

RewriteRule ^/hoge/\?x=(.*) /foo/$1 [R,L]


これでいかがでしょう。

もしこれで上手く行かないなら、RewriteEngineが有効になっていないか、そもそもmod_Rewriteがインストールされていないかのどちらかだと思います。RewriteEngineを有効にするには、次のように書きます。

RewriteEngine On
RewriteRule ^/hoge/\?x=(.*) /foo/$1 [R,L]


worldtravelさんのコメント
それがダメなのです。 他のリダイレクトはできます。 「?」が入っていると上手く行かないのです。 「\?」としてもダメなのです。 ちなみにこのようにすると、 RewriteRule ^/hoge/x=(.*) /foo/$1 [R,L] /hoge/x=aaa が /foo/aaa にリダイレクトされます。 サーバは、SAKURAの共用です。

worldtravelさんのコメント
すみません。 ご挨拶が遅れました。 ありがとうございます。

パパトモさんのコメント
>> RewriteRule ^/hoge/\?x=(.*) /foo/$1 [R,L,QSR] << こうしたらいかがでしょうか? これで上手くいかないなら・・・ >> RewriteCond %{QUERY_STRING} x=([0-9a-z]+)$ RewriteRule ^/hoge/$ /foo/%1 [R=301,L] << これでどうでしょうか。
関連質問

●質問をもっと探す●



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