- ベストアンサー
httpd.conf サブドメインのリダイレクト
RewriteCond %{HTTP_HOST} ^(www.example\.com)(:80)? RewriteRule ^(.*) http://example.com$1 [R=301,L] httpd.confで上記のようにサブドメイン「www」をサブドメインなしにリダイレクトをしています。 これを他のサブドメイン(testやhoge)もサブドメインなしにリダイレクトするにはどうすればよいでしょうか? 正規表現での記述?がチンプンカンプンです。 何故か検索サイトに変なサブドメインが拾われて困ってます。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
apacheV2ですね。 調べてみますので少し時間をくださいませ。
その他の回答 (2)
- ovtave-G
- ベストアンサー率42% (68/159)
回答No.2
申し訳ないのですが、ご利用されているhttpサーバはapacheでしょうか?Verは1or2どちらでしょうか?
質問者
補足
apacheのバージョン2でした。 サーバーの設定は他の方にやってもらいました。 自分はまったく知識がありません。
- ovtave-G
- ベストアンサー率42% (68/159)
回答No.1
~(チルダ記号)を登録userID(例えば~userID)とすれば如何でしょう?
質問者
補足
URLにチルダが入ってると検索サイトに拾われないのでしょうか? サブドメインはユーザーIDではありません。 サブドメインに適当な文字列を入れても同じ内容のページに繋がります。
お礼
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]にしたところ リダイレクトループのエラーが出なくなりました。お騒がせいたしました。
補足
わざわざ、ありがとうございます。m(__)m ApacheのVirtualHostの設定を使って、設定されていないサブドメインのアクセスをメインのドメインにリダイレクトする。 http://blog.flatlabs.net/20100310_065446/ こちらを参考に RewriteCond %{http_host} ^.*example.com RewriteRule ^(.*) http://www.example.com/$1 [R=301,L] としたところ、一応リダイレクトされるようなんですが 「このウェブページにはリダイレクト ループが含まれています」 とエラーが表示されました。無限ループになっちゃてるのかなぁ? リダイレクト ループにならない方法を探してみます。