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

このQ&Aのポイント
  • 301リダイレクトの記述方法について、わからないことがあり困っています。
  • 以下の4つのURLを301リダイレクトしたい場合の記述方法を教えて下さい。
  • 301リダイレクトの転送元URLの記述方法ですが、相対パスではなく絶対URLで記述するのは間違いに当たるのでしょうか?
回答を見る
  • ベストアンサー

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
  • 回答数2
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

先にマッチしたものから適用されますから。 Redirect permanent /hoge/link/ http://www.example.com/ Redirect permanent /hoge/ http://www.example.com/

okw1305
質問者

お礼

ありがとうございましたm(__)m 無事に転送できるようになりました。

その他の回答 (1)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

.htaccess Redirect permanent /hoge/dir/ http://www.example.com/

okw1305
質問者

補足

ありがとうございます。 Redirect permanent /hoge/ http://www.example.com/ Redirect permanent /hoge/link/ http://www.example.com/ こう書くと、/hoge/はちゃんと転送されますが、/hoge/link/は/link/に転送されます。 階層が深い場合はどのように書いたらよいでしょうか?

関連するQ&A

  • リダイレクトの記述方法について教えてください。

    (1)から(2)のURLへリダイレクトする.htaccessの記述方法を教えてください。 (1) http://www.example.com/wordpress/ と http://www.example.com/wordpress           ↓ (2) http://www.example.com/blog/ 但し、リダイレクトしたいのは上記URLだけです。 (1)のURL配下にある個別記事 http://www.exapmle.com/wordpress/?p=123 はリダイレクトしません。 自分で.htaccessに記述したところ、(1)の配下の個別記事までリダイレクトしたため、慌てて削除したところです。 よろしくお願いします。

    • 締切済み
    • CSS
  • 301リダイレクトの設定

    色々調べてやってみてるのですが、上手くいかないので教えて下さい。 元サーバーはさくらサーバーライトプランで http://www.abc.com/efg/ のサイトを http://www.ABC.com/EFG/ へ転送したいと思っています。 転送先サーバーは CORESERVERです。 この場合、.htaccsse の記述は Redirect 301 / http://www.ABC.com/EFG/ の記述で大丈夫ですか? その .htaccsse を転送元のさくらサーバーの abc.com/efg/と同じルート?階層?に置いたのですが上手くいかないのです。 どこが間違っているのでしょうか? あまり詳しくないので、簡単に説明していただけると助かります。 ちなみに・・・ 色々調べてみたら、こんな記述 ↓ もあったので RewriteEngine on RewriteRule ^(.*) http://www.ABC.com/EFG/$1 [R=301,L] やってみてもダメでした。 さくらサーバーのマニュアルに書いてあった Redirect / "http://www.example.co.jp/" どちらもエラーメッセージはなく、元のサイトが表示されています。 どうすればリダイレクトできるのでしょうか? もっと根本的なところが間違っているのかなぁ?

  • 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
  • 相対URLによるリダイレクト

    Locationヘッダに転送先のURLを指定する際に、相対URLをフルパスで指定すると内部リダイレクトになりますが、絶対URLを指定せずにブラウザにリダイレクトさせる方法はないでしょうか。 具体的にはこうです。 URL http://www.xxx.com/dir/from.cgi という位置にスクリプトがあるとして、ドキュメントルートにある「to.html」にリダイレクトさせたい場合、 Location: http://www.xxx.com/to.html と出力するのではなく、 Location: /to.html と出力すると、内部リダイレクトによってブラウザに返されることなく、つまりブラウザの「アドレス」欄はhttp://www.xxx.com/dir/from.cgiのまま「to.html」の内容が表示されるわけですが、そうではなく前者のように動作させたいのです(ブラウザに返してリダイレクトさせたい)。 目的は、ドメインなど絶対URLが変更になっても汎用的にスクリプトを移行できるようにしたい(絶対URLを書かなくて良いようにしたい)のですが、内部リダイレクトでは表示されるHTMLの内容によって、たとえば<img src="./image.gif">など相対パス指定の参照が正しく表示されないためです。 どうぞよろしくお願いいたします。

    • 締切済み
    • CGI
  • 動的URLから静的URLへのリダイレクト

    htaccessで動的URLを静的URLに301リダイレクトしたいのですが、うまくいきません。 どのように記述すればよいでしょうか? 静的URL同士のリダイレクトしか分からず、困っています。 よろしくお願いします。 http://example.com/yyy.cgi?cate=1&page=1 リダイレクト先 http://example.com/zzz.htm

  • apache内httpd.confの転送記述

    http://admin.example.com 配下の全てのREQUESTにたいして、 https://admin.example.com にリダイレクトするにはどうすればいいのでしょうか? mod_rewriteかmod_redirectを使うことは分かるのですが、記述方法がわからず。 よろしくお願いします。

  • .htaccessでのリダイレクト分岐方法

    お世話になります。 .htaccessに以下の記述をしてリダイレクトしているのですが、 $1の値によってリダイレクトさせたくない場合、 どのように記述すればよいのでしょうか。 RedirectMatch permanent /abc/(.*)\.jpg$ http://hoge.com/data/$1.jpg $1の値は数字で1000以下の場合のみ先頭に0がつきます。 (500の場合は0500など) これをたとえば$1の値が0300以上(1000以下なので先頭に0がついた数値になります) ならリダイレクトさせたくないと言った事は可能でしょうか。 ・/abc/(.*)\.jpgの部分から$1の値を取得する ・取得した値で先頭に0がつく場合はまず0を排除 if($1 <= 300) { RedirectMatch permanent /abc/(.*)\.jpg$ http://hoge.com/data/$1.jpg } みたいな感じになると思うのですが、.htaccessでの記述方法がわかりません。 お手数をおかけしますがご教授いただけますと幸いです。

  • mod_rewrite の記述について

    .htaccess に、mod_rewrite の記述を書いて、以下のようなことをしたいのですが、 1.http://www.example.com/abc/ の場合 URLはそのままで、内容は /main/abc/以下 (の同名ファイル)を表示 2.http://www.example.com/main/abc/ の場合 URLは http://www.example.com/abc/ になり、内容は/main/abc/を表示 以前教えていただいた以下の記述でできるのですが、ディレクトリが追加されたら、.htaccess にも追加が必要になってしまいます。 どのように実現すればよいでしょうか? ------------------------------------------------------------ RewriteCond %{REQUEST_URI} ^/main/(.*)$ RewriteCond %{HTTP:My_Redirect} !yes RewriteRule ^main/(.+)$ http://example.com/$1 [QSA,R] RewriteCond %{REQUEST_URI} ^/(abc|aaa|bbb|ccc|ddd)/ RequestHeader set My_Redirect yes RewriteRule ^(.*)$ /main/$1 [QSA,L] ------------------------------------------------------------

  • リダイレクトについて

    /news/detail.php?id=777&c7=7 というURLから /news/777 というURLへリダイレクトしたいと思い、 Redirect permanent /news/detail.php?id= http://www.◯◯◯.com/news/ 上記のような記述をhtaccessに書いたのですが、 うまく行きませんでした。 この場合、どのような記述が正しいのでしょうか?

  • index.htmlを省略してくるアクセスをリダイレクトしたい

    index.htmlを省略してくるアクセスをリダイレクトしたい お世話になっております。 ApacheのRedirect機能を持ちいて、 以下のように携帯キャリア毎に用意したindex.htmlファイルを外部サーバへと リダイレクトすることを目論んでいます。 ======================================================================= Redirect permanent /i/index.html http://www.hoge.co.jp/hoge/index.html ======================================================================= ところが、上記のように定義しても、http://www.example.jp/i/という風に、 index.htmlを省略してくるアクセスの場合、 http://www.hoge.co.jp/hoge/index.htmlにリダイレクトさせることができず、 200番の応答コードとともに、http://www.example.jp/i/index.htmlをApacheが返してしまっており 困っております。 http://www.example.jp/i/index.htmlと、 index.htmlを省略せずアクセスした場合には、 ちゃんと、301でhttp://www.hoge.co.jp/hoge/index.htmlへリダイレクトしてくれます。 また、同じApahceで必ずファイル名を省略せずにアクセスしてくるケースに対して、 たとえば、以下のように定義しているのですが、これも期待通りの動作となっております。 ======================================================================= Redirect permanent /i/xxxx.html http://www.hoge.co.jp/hoge/xxxx.html ======================================================================= ファイル名(index.html)を省略してくるアクセスをリダイレクトしたい場合、 どのように定義すれば期待通りの動作が得られるでしょうか。 リダイレクトの仕方は、ApacheのRedirectにこだわっていませんので、 何か実現可能な方法がありましたらどなたか教えて頂けますと大変助かります。 よろしくお願いいたします。

専門家に質問してみよう