プロが教えるわが家の防犯対策術!

RewriteCond %{HTTP_HOST} ^(www.example\.com)(:80)?
RewriteRule ^(.*) http://example.com [R=301,L]

httpd.confで上記のようにサブドメイン「www」をサブドメインなしにリダイレクトをしています。
これを他のサブドメイン(testやhoge)もサブドメインなしにリダイレクトするにはどうすればよいでしょうか?
正規表現での記述?がチンプンカンプンです。

何故か検索サイトに変なサブドメインが拾われて困ってます。
よろしくお願いします。

A 回答 (3件)

apacheV2ですね。


調べてみますので少し時間をくださいませ。

この回答への補足

わざわざ、ありがとうございます。m(__)m

ApacheのVirtualHostの設定を使って、設定されていないサブドメインのアクセスをメインのドメインにリダイレクトする。
http://blog.flatlabs.net/20100310_065446/

こちらを参考に

RewriteCond %{http_host} ^.*example.com
RewriteRule ^(.*) http://www.example.com/ [R=301,L]

としたところ、一応リダイレクトされるようなんですが
「このウェブページにはリダイレクト ループが含まれています」
とエラーが表示されました。無限ループになっちゃてるのかなぁ?
リダイレクト ループにならない方法を探してみます。

補足日時:2012/08/20 20:08
    • good
    • 0
この回答へのお礼

RewriteCond %{HTTP_HOST} ^.*.example.com
RewriteRule ^(.+) http://example.com$1 [R]
RewriteRule http://example.com$1 -[L]

上記の設定で問題が解決しました!

[L] Rewrite 機能による変換を打ち切る。
[R] Redirect する。

だそうなのですが、[L][R]になってたみたいで[R][L]にしたところ
リダイレクトループのエラーが出なくなりました。お騒がせいたしました。

お礼日時:2012/08/20 21:00

申し訳ないのですが、ご利用されているhttpサーバはapacheでしょうか?Verは1or2どちらでしょうか?

この回答への補足

apacheのバージョン2でした。
サーバーの設定は他の方にやってもらいました。
自分はまったく知識がありません。

補足日時:2012/08/20 18:58
    • good
    • 0

~(チルダ記号)を登録userID(例えば~userID)とすれば如何でしょう?

この回答への補足

URLにチルダが入ってると検索サイトに拾われないのでしょうか?
サブドメインはユーザーIDではありません。
サブドメインに適当な文字列を入れても同じ内容のページに繋がります。

補足日時:2012/08/20 10:50
    • good
    • 0

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