• 締切済み

htaccessで動的ページを301転送したい

http://example.com/abc.php?v=4&p=12 にアクセスしてきたユーザーを http://example.com/xyz.php?v=4&p=12 に301転送したいです。 ただし、 ?以降はころころ数値が変わります。 例えば、?以降に以下のような数値がきた場合も http://example.com/abc.php?hoge=%fg%6d&p=aaa 同様に以下のように301転送をしたいです。 http://example.com/xyz.php?hoge=%fg%6d&p=aaa これを.htaccessを用いて行ないたいのですが、可能でしょうか? ご教授よろしくお願いいたします。

  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

  • t_ohta
  • ベストアンサー率38% (5078/13272)
回答No.1

RewriteEngine on RewriteRule ^/abc.php?(.+)$ /xyz.php?$1 [R=301,L] って感じではないでしょうか。

okimuk2050
質問者

お礼

ありがとうございます。 早速試してみましたが、機能しませんでした。 なぜでしょう???

関連するQ&A

  • .htaccessを特定のフォルダだけ無効にしたい

    .htaccessに以下のように書いて、 RewriteCond %{THE_REQUEST} ^.*/index.(html|php) RewriteRule ^(.*)index.(html|php)$ http://%{HTTP_HOST}/$1 [R=301,L] 「http://example.com/hoge/index.php」などにアクセスされたときにindex.phpを削除して 「http://example.com/hoge/」を表示するようにしています。 例えば、以下にアクセスすると http://example.com/aaa/index.php http://example.com/bbb/index.html http://example.com/ccc/ddd/index.php?p=1 それぞれ以下のアドレスになります。 http://example.com/aaa/ http://example.com/bbb/ http://example.com/ccc/ddd/?p=1 これを、特定のアドレス「http://example.com/tokutei/index.php」にアクセスされたときだけ、 「http://example.com/tokutei/」にせず、そのまま「http://example.com/tokutei/index.php」を表示するようにしたいのですが、 どうすれば良いでしょうか。 「http://example.com/tokutei/index.php?p=1」や「http://example.com/tokutei/index.php?p=1&a=5」などにアクセスされても そのまま表示するようにしたいです。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • .htaccessのRewriteRuleの記述

    .htaccessのRewriteRuleの記述方法について質問です。 以下のようなURL移転があったので、RewriteRuleを記述したいのですが、どのように記述すればよろしいでしょうか? 【旧URL】 http://example.com/hoge/hoge.php?id=数字 【新URL】 http://example.com/foo.php?var=1&id=数字 ※数字は対応しています(同じページは同じ数字が入ります)。 なお、私なりにググってみて、以下のように記述したのですが、動きませんでした。 Options +FollowSymLinks RewriteEngine on RewriteRule /hoge/hoge\.php\?(.+) http://example.com/foo.php?var=1&$1 [R=301,L] また、上記のような場合は、そもそもRewriteRuleは適切ではないということであれば、より良い手段をご教示いただきたくお願い申し上げます。

  • 301リダイレクトの記述方法について

    301リダイレクトの記述方法について、わからないことがあり困っています。 質問は2つあるのですが、2番めはふとした疑問なので、ご存じの方がいれば教えて下さいm(__)m (1) 以下の4つのURLを301リダイレクトしたい場合の記述方法を教えて下さい。 転送元: (1)http://www.example.com/hoge/ (2)http://www.example.com/who/ (3)http://www.example.com/hoge/link/ (4)http://www.example.com/who/test.html 転送先: http://www.abc.com (2) 301リダイレクトの転送元URLの記述方法ですが、相対パスではなく絶対URLで記述するのは間違いに当たるのでしょうか? 相対パス:Redirect 301 /hoge/ http://www.abc.com 絶対URL:Redirect 301 http://www.example.com/hoge/ http://www.abc.com

    • ベストアンサー
    • HTML
  • .htaccessでリダイレクトさせたいのですが、単純転送ではありませ

    .htaccessでリダイレクトさせたいのですが、単純転送ではありません。 アクセス先に応じて転送先を変えたいです。 ルール通りではないので、人力的な転送になるかと思います。 http://hogehoge.net/old/ というドメインとディレクトリがあったとします。 うち、oldのディレクトリ及びそれ以下のアクセスを転送させたいです。 この場合、oldディレクトリに.htaccessを置いて転送させればいいかと思うのですが、 以下のような場合はどういう記述をすれば実現できますでしょうか? 1、/old/index.php?p=1と/old/index.php?p=2は、http://mogemoge.net/new/1.htmlへ転送 2、/old/index.php?p=3と/old/index.php?p=5は、http://mogemoge.net/new/2.htmlへ転送 3、/old/index.php?p=4は、http://mogemoge.net/new/3.htmlへ転送 4、上記以外(oldディレクトリ以下、index.php、index.php?p=6など)は全て、http://mogemoge.net/new/index.htmlへ転送 .htaccessの記述経験がなく、色々調べてはみたのですが、よく分かりませんでした。 どうかよろしくお願いいたします。

  • htaccess.サブディレクトリURL非表示

    お世話になります。 以下のようなサイトがあるとします。 http://hoge.com/index.php ←ログインフォーム http://hoge.com/aaa/index.php ←会員用サイト http://hoge.com/bbb/index.php ←非会員用サイト 最初のアクセスは必ず/index.phpが受け取り、ログイン判定後/aaaか/bbbにリダイレクトします。この時に、aaaやbbbをURLに表示させない方法はあるのでしょうか。 よろしくお願いいたします。

  • htaccessのリダイレクトについて

    html、phpなどの拡張子付きリクエストを、末尾がスラッシュの URLにリダイレクトしたいのですが、方法をご教示ください。 例えば、 http://www.hoge.com/hoge/ へのリクエストを、異なるサーバーの http://www.hoge2.com/hoge/ にリダイレクトしたいと考えており、以下のように記述しています。 #.htaccessの記述 Redirect permanent /hoge/ http://www.hoge2.com/hoge/ しかし、 /hoge/hoge.php のリクエストがあった場合、以下のようにドキュメント名を付加される ので困っています。 http://www.hoge2.com/hoge/hoge.php 宜しくお願いします。

    • ベストアンサー
    • PHP
  • .htaccessの複数条件設定

    .htaccessで複数の条件を設定した場合の記述方法について教えてください。 現在123.45.67.890か098.76.543.21のどちらかのIPアドレスで http://www.example.com/aaa.htmlにアクセスがあった場合、 http://www.example.com/bbb.htmlへ転送するように設定しています。 記述は次の通りです。 RewriteEngine on RewriteCond %{REMOTE_ADDR} ^123\.45\.67\.890 [OR] RewriteCond %{REMOTE_ADDR} ^098\.76\.543\.21 RewriteRule aaa.html http://www.example.com/bbb.html ここに、「他サイトhttp://www.hogehogeexample.comからのアクセス」という条件を加えた場合、 どのように記述すれば良いのでしょうか。 つまり、 「http://www.hogehogeexample.comからhttp://www.example.com/aaa.htmlへ飛んできた人のうち、 IPアドレスが123.45.67.890か098.76.543.21の場合のみ、 http://www.example.com/bbb.htmlへ転送する」という設定です。 ご存じの方がいらっしゃいましたら、 何卒宜しくお願い致します。

  • .htaccessの有効範囲について

    .htaccessの有効範囲について .htaccessの有効範囲について疑問があります。設置されたディレクトリと、そのディレクトリ以下の全てのディレクトリに対して有効であるとの認識です。 http://example.com/.htaccess これは、 (1)http://example.com/にアクセスしてサーバーの設定によりhttp://example.com/index.htmlが表示された場合 (2)http://example.com/index.htmlに直接アクセスした場合 (3)http://example.com/abc/xyz.htmlにアクセスした場合 この3つ全てに適用されますよね? 私はそうだと思っていたのですが、実際は(1)の場合しか効果を発揮していません。 ということは、最後が/で終わるアドレスにしか有効ではないのでしょうか? そう言われると、「設置された"ディレクトリ"と、そのディレクトリ以下全ての"ディレクトリ"に対して有効」という文言もそういうことかというように読めるのですが、腑に落ちません。 もちろん私の.htaccessの書き方に問題がある可能性もありますが、その可能性を除いた場合、効果範囲はどうなるものなのでしょうか。 ご回答宜しくお願いいたします。 ちなみに、.htaccessの内容はユーザーエージェントを用いた携帯からのアクセスのリダイレクトです。 先日この件で質問をさせていただきまして、更に調べたところ上記のように効果範囲が限定されていることに気付きました。

    • ベストアンサー
    • HTML
  • 転送メールの返信時の設定

    2台ケータイを使用しているんですが どちらのケータイから返信しても、同じアドレスからの返信として 送信する事は出来ないでしょうか? イメージとしては以下様な感じです。 差出人(abc@xxx.com)が(xyz@xxx.zzz)へメール送信 ↓ (xyz@xxx.zzz)から (abc@ezweb.ne.jp)と(abc@docomo.ne.jp)へ自動転送 ↓ (abc@ezweb.ne.jp)もしくは(abc@docomo.ne.jp)から 差出人(abc@xxx.com)へ(xyz@xxx.zzz)からの返信として送信  後、自動転送時に(abc@ezweb.ne.jp)と(abc@docomo.ne.jp)の from欄に差出人(abc@xxx.com)のアドレスが表示されてほしいです。 ケータイの電話帳と連動させる為です。 よろしくお願いいたします。

    • 締切済み
    • au
  • .htaccessの書き方について

    http://www.example.com/abc/ の場合 URLはそのままで、内容は /main/abc/以下 (の同名ファイル)を表示したい場合、 .htaccess に以下のように色々試したのですが、うまく動作しません。 どこがいけないでしょうか。 ----- RewriteBase / RewriteRule ^/(.*)/$ /main/$1/ ----- ----- RewriteBase / RewriteRule ^(.*)$ /main/$1 [L] ----- ----- RewriteBase / RewriteRule ^/(.*)/(.*)$ /main/$1/$2 -----

専門家に質問してみよう