htaccessにて、下記のurlを301リダイレクトさせたいのですが。


Redirect 301 /index.php?hogehoge http://www.hogehoge.jp/index.php?fugafuga

「?」があるために上手く動いてないところまでは分かったんですが。
どういう記述をしてよいか分かりません。

ご教授いただけますでしょうか。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2008/11/12 02:10:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント23pt

'?'が正規表現文字として解釈されているのだと思うので、下記のようにしてみてください。

Redirect 301 /index.php\?hogehoge http://www.hogehoge.jp/index.php?fugafuga

*参考サイト

id:sumithsonian

ありがとうございます。

が、上手くいかないようです。

うーん何ででしょう。。。

2008/11/06 01:22:53
id:b-wind No.2

回答回数3344ベストアンサー獲得回数440

ポイント23pt

mod_alias - Apache HTTP サーバ

たぶん Redirect ディレクティブではクエリーまでは判定できないと思う。


mod_rewrite が使用できる環境であれば、以下の設定でいけるはず

mod_rewrite - Apache HTTP Server

RewriteEngine On
RewriteRule /index\.php\?hogehoge http://www.hogehoge.jp/index.php?fugafuga [R,L]
id:sumithsonian

試してみたのですが。上手くいきません。

上記の記法で「?」など無くして下記のように試しても動きませんでした。

RewriteEngine On

RewriteRule /index.html http://www.hogehoge.jp/ [R,L]

2008/11/06 01:27:24
id:worldtravel No.3

回答回数34ベストアンサー獲得回数4

ポイント22pt

これでどうでしょうか。


RewriteEngine On

RewriteRule ^/?index\.html http://www.yahoo.co.jp/ [R=301,L]


RewriteEngine On

RewriteRule ^/?(index\.php|hogehoge){1}$ http://search.yahoo.co.jp/search?p=test [R=301,L]


http://www.gac.jp/article/index.php?stats=question&category=8&id...

id:sumithsonian

リダイレクトは効きました。

が、希望通りの動きには至りませんでした。

もう少し自分で試してみます。

ありがとうございました。

2008/11/11 02:51:55
id:pahoo No.4

回答回数5960ベストアンサー獲得回数633

ポイント22pt

Apacheのrewiteモジュールは有効になっていますか? 確認手順は「rewriteモジュール」をご覧ください。

また、他のRewrite設定は正常に動作していますか?

id:sumithsonian

回答、ありがとうございます。確認いたします。

2008/11/11 02:51:53

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません