wwwwありとwwwなしのURL統一について

このQ&Aのポイント
  • 運営しているサイトのwwwwありとwwwなしのURLの統一をするために、htaccessを使用して設定しました。
  • しかし、ディレクトリ以下のwww付きURLにアクセスするとトップへリダイレクトされる問題が発生しています。
  • 設定に何か間違いがあるのでしょうか?ご教示いただければ幸いです。
回答を見る
  • ベストアンサー

www付き・なしのURL統一について

運営しているサイトのwwwwありとwwwなしのURLの統一をする事にしました。 ホームページで検索した所htaccsessで実現できることが判明し、 説明ページを参考に以下のように設定しました。 RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.hogehoge\.jp)(:80)? RewriteRule ^(.*) http://hogehoge.jp/$1 [R=301,L] これにより http://www.hogehoge.jp/へのアクセスは http://hogehoge.jp/にリダイレクトされるようになったのですが ディレクトリ以下のwww付きURLにアクセスすると なぜかトップへリダイレクトされるようになりました。 例: http://www.hogehoge.jp/fugafuga/index.phpへアクセスすると http://www.hogehoge.jp/index.phpにジャンプします これは何か設定が間違っているということなのでしょうか? ご存知の方がいましたらご回答よろしくお願い致します。

noname#65125
noname#65125

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

  • ベストアンサー
  • 4-you
  • ベストアンサー率58% (17/29)
回答No.2

再びNo1です。 最初の行ですが、わたしの読み間違いでした。 申し訳ございません。 下記で、試してみてください。 <Files ~ "^.(htaccess|htpasswd)$"> deny from all </Files> RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.hogehoge\.jp)(:80)? [NC] RewriteRule ^(.*) http://hogehoge.jp/$1 [R=301,L] order deny,allow

noname#65125
質問者

お礼

ご回答ありがとうございます! せっかくアドバイスをいただいたのですが自己解決してしまいました。 どうやらhtaccessのおき場所に問題があったようです。 ディレクトリ以下に置いていたのですが直下に置くことで無事に機能しました。 ありがとうございました!

その他の回答 (1)

  • 4-you
  • ベストアンサー率58% (17/29)
回答No.1

記述が、そのようになっています。(http://hogehoge.jp/$1からwww\.hogehoge\.jpへ) その前に、SSLで接続する場合はありますでしょうか? SSLの登録は、www.hogehoge.jpで登録するのが通常だと思いますので、”wwwなし”で接続すると、認証会社の認証が効かなくなると思います。SSLを利用される場合は、”wwwなし”に振り替える設定をしないほうが良いです。

関連するQ&A

  • .htaccessでURLのwwwの有無を制御する方法

    URLをwww無しで統一したく、.htaccessでwwwを付けてアクセスした際に強制的にwww無しになるよう設定をしています。 .htaccessの内容は以下の通りです。 ------------------------------------------------------------ RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.hogehoge\.net)(:80)? RewriteRule ^(.*) ​http://hogehoge.net/$1​ [R=301,L] ------------------------------------------------------------ こちらの内容で問題無く理想の動きをしてくれているのですが、検索をして調べていると、少しの差ではありますが以下のように違う書き方をしている方もいるようで、動きも変わりません。 ------------------------------------------------------------ RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.hogehoge\.net$ RewriteRule ^(.*)$ ​http://hogehoge.net/$1​ [R=301,L] ------------------------------------------------------------ 他にも色々な書き方がありましたが、ここでは割愛しています。 厳密にはどのような書き方が正しいのでしょうか。 正しい書き方があるのであればご教示願います。 .htaccess関連の質問は色々なカテゴリに分散されており、今回“ハードウェア(サーバー)”や“Linux系OS”等と悩み、“その他(プログラミング)”のカテゴリへ質問をさせて頂きました。 より良いカテゴリがあるようでしたらご指摘願います。

  • 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でindex.htmlありに統一

    「http://hoge.jp/web/」にアクセスがあった場合に 「http://hoge.jp/web/index.html」にリダイレクトさせようと考えています。 調べたところ.htaccessに下記の記述でできるという事まではわかったのですが「Internal Server Error」になってしまいます。 何が原因なんでしょうか? RewriteEngine on RewriteCond %{REQUEST_FILENAME} -d RewriteCond %{REQUEST_FILENAME}/index.html -f RewriteRule ^(|.*/)$ /$1index.html [R,L] 上記が解決できた場合に合わせての質問案ですが、ドメイン直下だけは「index.htmlなし」にしたいと考えてます。 http://hoge.jp/index.html ↓ http://hoge.jp/ よろしくお願いします。

  • 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 にするとリダイレクトされますが、処理がループされていますという表示が出てしまいます。 どのような記述をすればうまくいくのでしょうか?

  • CodeIgniterのURLの簡素化

    CodeIgniterでの開発を考えているのですが、URLを簡単にするための.htaccessが有効にならずに困っています。 RewriteEngine on RewriteCond $1 !^(index\.php|css|user_guide|.+\.gif$|.+\.jpg$|.+\.png$|.+\.js$) RewriteRule ^(.*)$ /CodeIgniter/index.php/$1 [L] をどこにおけばいいのか分かりません。どの階層でしょうか?

    • ベストアンサー
    • PHP
  • 301リダイレクトの設定について

    「○○○.jp」と「www.○○○.jp」を統一し、どちらのURLからの アクセスでも「○○○.jp」ディレクトリ内のコンテンツが 表示されるように設定したいと考えております。 契約しておりますレンタルサーバ会社では.htaccessファイルの 編集内容についてはサポートしておらず、ネット上で設定方法を 検索して試みておりますが、アクセスすると403のエラーが表示され 上手くいっておりません。 以下に.htaccessの設定内容をとエラーの状況を記載いたします。 Webサーバの運用については知識が皆無の為、非常に難儀しております。 不備があればご指摘いただき、またその他の設定等での不具合の 可能性があれば、それもご教示いただけませんでしょうか。 宜しくお願い申し上げます。 ---------------------------------------------------------------- # Enable RewriteEngine. RewriteEngine On # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} ^(◆◆◆.jp|▲▲▲.com|■■■.com|◇◇◇.com|○○○.jp|www.○○○.jp) RewriteCond %{REQUEST_URI} !^/(◆◆◆.jp|▲▲▲.com|■■■.com|◇◇◇.com|○○○.jp|www.○○○.jp)/ RewriteRule ^(.*)$ /%{HTTP_HOST}/$1/ [L] Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^www.○○○\.jp RewriteRule ^(.*)$ http://○○○.jp/$1 [R=301,L] ----------------------------------------------------------------

  • 下層ディレクトリのwwwあり・なしの統一について

    お世話になります。 現在.htaccessを利用し、利用中のURLのwwwあり・なしの設定を行い、 www.hoge.comへのアクセスをhoge.comへ統一させる事に成功致しました。 ですがwww.hoge.com/foo/へのアクセスがhoge.com/foo/に統一されず、困っております。 ドメイントップ内.htaccessにて以下の様に表記を行っております。 RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.hoge\.com)(:80)? RewriteRule (.*) http://hoge.com/$1 [R=301,L] これに、 RewriteCond %{HTTP_HOST} ^(www\.hoge\.com/foo/)(:80)? RewriteRule (.*) http://hoge.com/foo/$1 [R=301,L] 等加えてみましたがどうも思う様にいきません。 /foo/直下に.htaccessを置き試してみましたが統一されないままです。 現在さくらインターネットのレンタルサーバにて設置作業を行っております。 どの様にすれば下層ディレクトリでのwwwありなしの統一が行えますでしょうか? どうぞご教示の程お願い致します。

  • 301リダイレクトを使用してURLwww有り、index.html無しで統一したい。

    お世話になります。 現在、サイトを1つ持っているのですが(仮にabcde.comとします)、SEO的な観点からこのサイトへのアクセスを最終的に【http://www.abcde.com/】に統一したいと思っています。 1)http://abcde.com/ 2)http://abcde.com/index.html 3)http://www.abcde.com/index.html 上記の1)からwww有りへの転送は以下のソースでhtaccessを使用して出来ました。 ******************************************** Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^abcde\.com RewriteRule ^(.*)$ http://www.abcde.com/$1 [R=301,L] ******************************************** 2)3)に関しましてからindex.html無しへの転送が、出来ませんでした。。。 301リダイレクトを使用してURLにwww有り、index.html無しで統一したいのですが、アドバイスいただけると幸いです。 何卒よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • mod_rewriteの設定方法について教えてください。

    mod_rewriteで下記のようにURLの書き換えの設定を行っているのですが、 実際のURL [A] http://hogehoge.com/index.cgi?a=123&b=abc ↓ アクセスするURL [B] http://hogehoge.com/123/abc/ となるように、下記のように設定を行ったのですが、 --------------------------------------------------------- RewriteEngine on RewriteCond %{HTTP_HOST} ^([^:]+) RewriteRule ^/([^\/]+)/([^\/]*) http://%1/index.cgi?a=$1&b=$2 [L,R] --------------------------------------------------------- 上記の設定を行ったうえで[B]にアクセスすると正しく[A]にアクセスは出来るのですが、ブラウザのアドレス欄は[A]のURLに変換されて表示されます。 これを[B]の表示のままにすることって可能なのでしょうか? もし可能なようでしたらその設定方法を教えていただけないでしょうか。 よろしくお願いいたします。 ApacheバージョンはApache/2.0.52です。

  • 動的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リダイレクトさせたい場合、どのように記述すれば良いでしょうか?

専門家に質問してみよう