301リダイレクトについて

このQ&Aのポイント
  • 301リダイレクトについて調べているのですが全く動作しません。
  • やりたいことはサブディレクトリのページをサブドメインに移動させたいのです。
  • 使用しているサーバーはhetemlです。
回答を見る
  • ベストアンサー

301リダイレクトについて

301リダイレクトについて調べているのですが全く動作しません。 やりたいことは サブディレクトリのページをサブドメインに移動させたいのです。 例: http://www.hoge.com/fuga/index.html/ 上記の/fuga/より一段下の階層を http://piyo.hoge.com/index.html/ に移動させたいです。 色々なサイトを参考にし、 RewriteEngine On RewriteBase /fuga/ RewriteRule ^index\.php$ – [R=301,L] RewriteRule . /fuga/index.php [R=301,L] Redirect 301 /fuga/ http://piyo.hoge.com/index.html/ や RewriteEngine on RewriteRule ^fuga/(.*)$ http://piyo.hoge.com/index.html/$1 [R=301,L] など色々試してみましたが全く動作せず、また初心者のため理解できずに困っています。 どなたかお力を貸していただけたら嬉しいです。 よろしくお願い致します。 使用しているサーバーはhetemlです。

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

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

  • ベストアンサー
回答No.1

多分恐らく、「index.html」の後の「/」は不要ですよね。 言われることは、 Redirect permanent /fuga/ http://piyo.hoge.com/ で可能です。 他、 × RewriteEngine on RewriteRule ^fuga/(.*)$ http://piyo.hoge.com/index.html/$1 [R=301,L] ↓ ○ RewriteEngine on RewriteRule ^fuga/(.*)$ http://piyo.hoge.com/$1 [R=301,L] ということなるかと思います。

rossi46mail
質問者

お礼

回答ありがとうございます。 上記の両方の方法で試してみましたが、やはりうまくいきません。 テキストで保存(macなのでリッチテキストで保存)し、サーバー(/web/fuga/)にあげた後、 .htaccessに名称を変更しました。 しかしエラー500と表記されうまくいきませんでした。 回答ありがとうございました。

rossi46mail
質問者

補足

すみません1つ訂正がありました。 現在使用しているサイトのサブディレクトリが/fuga/ではなく/test_fuga/です。 そして、サーバーのルートディレクトリが/web/fuga/になっているのですが それが問題なのでしょうか? ちなみに Redirect permanent /web/fuga/ http://piyo.hoge.com/ Redirect permanent /test_fuga/ http://piyo.hoge.com/ この両方で試してみて、サーバーも/web/fuga/の中と/test_fuga/の両方で試してみましたがどちらもできませんでした。 Redirect permanent /test_fuga/ http://piyo.hoge.com/ これを記述する時はこの1行だけでいいんですよね。 質問ばかりして申し訳ありません。 どうぞよろしくお願いします。

関連するQ&A

  • httpからhttpsへのリダイレクト方法

    すいません、よくわかりませんので教えて下さい。.htaccessに記述してhttpにアクセス来たものをhttpsへリダイレクトしたいです。 今の状況は下記です。 AddHandler application/x-httpd-php53 .php RewriteEngine On # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} ^(sanetsu.com) RewriteCond %{REQUEST_URI} !^/(sanetsu.com)/ RewriteRule ^(.*)$ http://www.sanetsu.com/$1 [L] # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} ^(www.burikama.com) RewriteCond %{REQUEST_URI} !^/(www.burikama.com)/ RewriteRule ^(.*)$ /%{HTTP_HOST}/$1/ [L] # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} ^(burikama.com) RewriteCond %{REQUEST_URI} !^/(burikama.com)/ RewriteRule ^(.*)$ http://www.burikama.com/$1 [L] # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress すいません、上記の記述をどのように変更したらhttpsへリダイレクトさせることができますでしょうか?前任のweb担当の方と連絡が付かないので教えていただけたらありがたいです。 宜しくお願い致します。

    • ベストアンサー
    • HTML
  • htaccessで個別に301リダイレクトする方法

    今回はじめてhtaccessにリダイレクトをしようと思っています。 ページごとに個別で行いたいと思っていますが パラメーターがつくとうまく動作してくれません。 RewriteEngine on RewriteRule ^whatis.php$ http://new.com/whatis.php [R=301,L] RewriteRule ^category/$ http://new.com/category/ [R=301,L] RewriteRule ^category/test.php?id=1$ http://new.com/category/test.php?id=1 [R=301,L] RewriteRule ^category/test.php?id=2$ http://new.com/category/test.php?id=2 [R=301,L] 1行、2行目の RewriteRule ^whatis.php$ http://new.com/whatis.php [R=301,L] RewriteRule ^category/$ http://new.com/category/ [R=301,L] はうまく動作していくれますが 3行、4行目は うまく動作してくれません。 どうのように記載したらパラメーター付きでも動作してくれますか? 詳しい方よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • htaccessのリダイレクト記述

    .htaccess リダイレクトについて教えてください。 今まで、WordPressをサブドメインで使っていましたが、新しいドメインに移転します。 今までのURLは、http://old.com/wp/ 新しいURLは、http://new.com となります。 それぞれの記事が検索エンジンに掲載されいますので、それぞれの記事がリダイレクトでそれぞれの記事を表示することが希望です。下記の記述で正しいでしょうか? RewriteEngine on RewriteBase /old.com/wp/ RewriteRule ^$ http://new.com/ [R=301,L] RewriteRule ^(.+)$ http://new.com/$1 [R=301,L] 宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • 動的URLから静的URLへの301リダイレクト

    下記のように動的URLを静的なURLに置き換えています。 http://www.sample.com/dir/aaa/index.php?content_id=1 ↓ http://www.sample.com/aaa_index.content_id_1.htm この動的URLを、置き換えた静的URLへ301リダイレクトさせたいのですが、うまくいきません。 htaccessの記述を下記のようにしましたが、多分、動的URLの「?」があるためうまくいかないようです。 RewriteEngine on RewriteBase / RewriteRule ^dir/aaa/index\.php?content_id=(.*)$ /aaa_index.content_id_$1.htm [R=301,L] 「?」が含まれる動的URLから静的URLに301リダイレクトさせたい場合、どのように記述すれば良いでしょうか?

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

    sslのリダイレクトの作業を急いでやらないといけないのですが、sslに関しては全くの初心者なので調べながらいろいろやってみましたがどうしてもうまくいかず困っています。。 Wordpressでサイトを作成していてドメイン直下の.htaccessにリダイレクトの記述をしています。 サーバーはGMOのiCLUSTAで、sslはジオトラストです。 http://○○○.jp/ にアクセスした場合に、 https://ssl.○○○.jp/ へリダイレクトされるようにしたいです。 .htaccessの記述内容です # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress RewriteEngine on RewriteCond %{HTTPS} on RewriteRule ^(.*)$ https://ssl.○○○.jp/$1 [R=301,L] この記述をしていますが、リダイレクトされたりされなかったりの不安定な状態です。 されないことの方が多いのでどの条件で動いているのかがわかりません。 RewriteCond %{HTTPS} on を、 RewriteCond %{HTTPS} off にするとリダイレクトされますが、処理がループされていますという表示が出てしまいます。 どのような記述をすればうまくいくのでしょうか?

  • mod_rewriteの書き方について

    mod_rewriteの書き方について いつもお世話になっております。 mod_rewiteについて質問させていただきます。 複数の設定をしたいのですが、404のエラーが出てしまい思っている動作になりません。 -------------------------------------------------- RewriteEngine on (1) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule hoge/(.*)\/(.*)\/(.*)\/(.*)\.html$ /hoge/$1/$2.php?$3=$4 [L] RewriteRule hoge/(.*)\/(.*)\/(.*)\/(.*)\/(.*)\/(.*)\.html$ /hoge/$1/$2.php?$3=$4&$5=$6 [L] (2) RewriteRule (.*)\.html$ /$1.php [L] -------------------------------------------------- 上記の設定を記載しております。 (1)はパラメーターがあった場合、URLの書き換えをしています。 ここはちゃんと動作しております。 (2)で、http://www.hoge.com/dir/index.html にアクセスした場合 /dir/index.php を呼び出すことに成功はしています。 ただ、http://www.hoge.com/dir/category.html にアクセスした場合 PHPファイルではなく、HTML(/dir/category.html)の場合404のエラーになってしまいます。 分かりづらい説明で申し訳ございませんが、ご教示よろしくお願いいたします。 [環境]  PHP:5.1.6  Linux:調べられません・・・わりと新しいバージョンです。

  • 301リダイレクトの例外処理

    WEBサイト全体に 拡張子がhtmとhtmlが混在していて管理がわずらわしいので、 .htaccessで下記のような設定をしました。 ドメイン直下に.htaccessを置いているので、サイト全体でこの設定が有効に なっているのですが、あるフォルダだけこれが適用されないように 設定をしたいと思います。 いろいろやってみたのですが、今ひとつ正常に動いてくれません。 どのようにすればいいのでしょうか。 -------------------------------------------------------------- Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^XXX.jp RewriteRule ^(.*)$ http://www.XXX.jp/$1 [R=301,L] Options +FollowSymLinks RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ http://www.XXX.jp/$1 [R=301,L] Options +FollowSymLinks RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.htm RewriteRule ^(.*)index.htm$ http://www.XXX.jp/$1 [R=301,L] -------------------------------------------------------------- サーバーはApache/1.3.42 .htaccessファイルを置いているのは、ドメイン直下です。

  • Apacheで条件付リダイレクトをしたいのです。

    Apacheで条件付リダイレクトをしたいのです。 例えば、 http://www.abcde.com/ に Googlebot-Mobile がクローラで回ってきた時のみ、 http://mobile.abcde.com/ に飛ばしたいのです。 要はGooglebot-Mobileが来たら、モバイルページに飛ばしたく、 Googlebot-Mobile以外が来たらそのまま表示したいのです。 設定がよくわからないのですが、 以下で合っていますでしょうか? 1.URLそのものをリダイレクト Googlebot-Mobileが http://www.abcde.comに来た場合 http://mobile.abcde.comに飛ばす ■設定  RewriteEngine On  RewriteCond %{Googlebot-Mobile} on  RewriteCond %{http://www.abcde.com} on  RewriteRule ^(.*)$ http://mobile.abcde.com$1 [R=301,L] 2.特定のページに来た時のみリダイレクト Googlebot-Mobileが http://www.abcde.com/index.phpに来た場合 http://mobile.abcde.comに飛ばす ■設定 RewriteEngine On RewriteCond %{Googlebot-Mobile} on RewriteRule ^/index.php(.*)$ /http://mobile.abcde.com/ [R=301,L] どなたか教えていただける方いらっしゃいましたらよろしくお願い致します。

  • ApacheのRewriteRuleで、元のURLにアクセスさせない方法

    例えば、Apache の設定で、以下のように、hoge.html にアクセスすると、fuga.html を呼ぶようにします。 RewriteEngine on RewriteRule ^hoge\.html$ fuga.html もちろん、このままでは、直接 fuga.html にもアクセス可能ですが、直接、fuga.html にアクセスすることを拒否することは可能ですか?

    • 締切済み
    • PHP
  • .htaccessによる301リダイレクト

    www.hoge.jp/test_hoge/ このディレクトリ以下を www.piyo.com に、リダイレクトしたいです。 下記のように.htaccessを記載したのですが、 RewriteEngine On RewriteRule ^test_hoge(.*)$ http://piyo.com$1 [R=301,L] そのファイルはどこへ格納すればいいのでしょうか。 現在ルートディレクトリは /www/test_hoge/ となっています。 .htaccessを/www/の中にいれても /test_hoge/の中にいれてもエラーがおきてしまいます。 ただ、macのテキストエディットで作成しているからかなと思うのですが、そういうことはありえますか? どなたかご回答お願いします。

    • ベストアンサー
    • CSS