電子書籍の厳選無料作品が豊富!

.htaccessで
http://example.com/index.php?%E3%83%8B%E3%82%B3% …

http://example.com/
にリダイレクトさせようと思っています。
以下をを実行してもうまくいきません。

Redirect permanent /index.php?%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3%E5%8B%95%E7%94%BBwiki http://example.com/

以下の様にするといくのですが
Redirect permanent /index.php http://example.com/test.php

上と下の違いはクエリー文字列が含まれていることだとおもいます。
クエリー文字列を含めるとリダイレクトは働かないのでしょうか?

文字列をなんらか形でエスケープする必要があるのでしょうか?
javascriptだといくのですが、.htaccessだといきません。
教えてください。宜しくお願いします。

A 回答 (1件)

http://httpd.apache.org/docs/trunk/ja/mod/mod_al …

には,

<引用開始>
od_alias は簡単な URL 操作向けに設計されています。 より複雑な操作、クエリーストリングの操作には、mod_rewrite で提供されるツールを使用してください。
<引用終了>

とありますので,mod_rewriteを使うしかないのではないでしょうか?

http://www.webmasterworld.com/apache/3197508.htm

を見ると,RewriteCond %{QUERY_STRING} が必要そうです。

http://forums.digitalpoint.com/showthread.php?t= …
http://www.kuri3.net/modules/bwiki/index.php?Htt …
http://apache.rsz.jp/docs-ja/1.3/mod/mod_rewrite …

などから推測するに,おそらくは,

RewriteEngine On
RewriteCond %{QUERY_STRING} ^%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3%E5%8B%95%E7%94%BBwiki$
RewriteRule /index.php http://example.com/ [L, R=302]

みたいにすればいいのではないでしょうか?

#もしかしたら'%'は'\%'のようにエスケープする必要があるかもしれません。

参考URL:http://httpd.apache.org/docs/trunk/ja/mod/mod_re …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!