4

Cookie や SEO などのさまざまな理由から、物事をシンプルにするために、Apache がhttp://www.foobar.com/anythingへのすべてのリクエストをhttp://foobar.com/anythingに自動的にリダイレクトするようにしたいと考えています。私が思いつくことができる最高のものは、mod_rewrite ベースの怪物です。「ドメイン ABC のすべての要求を XYZ にリダイレクトする」ことを伝える簡単で簡単な方法はありますか?

PS:このやや関連する質問を見つけましたが、これは IIS 用であり、私が望むこととは反対のことを行います。また、それはまだ複雑です。

4

6 に答える 6

9

次のように簡単です。

<VirtualHost 10.0.0.1:80>
        ServerName www.example.com
        Redirect permanent / http://example.com/
</VirtualHost>

必要に応じてホスト名と IP を調整してください :)

于 2008-09-17T21:49:59.583 に答える
7

サイトからサイトへのコピーがよりシンプルで簡単になりました。

RewriteCond %{HTTP_HOST} ^www\.(.+)$
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
于 2009-03-30T16:00:53.173 に答える
4

mod_rewrite を使えばとても簡単です ;)

これは、私のライブ Web サイトの .htaccess の一部です。

RewriteEngine on

# Catches www.infinite-labs.net and redirects to the
# same page on infinite-labs.net to normalize things.

RewriteCond %{HTTP_HOST} ^www\.infinite-labs\.net$
RewriteRule ^(.*)$ http://infinite-labs.net/$1 [R=301,L]
于 2008-09-17T21:49:49.147 に答える
1

いくつかの mod_rewrite ルールで .htaccess ファイルを使用します。

RewriteEngine On
RewriteRule ^www.SERVERNAME(.*) http://SERVERNAME$1 [L,QSA]

そこの構文が正しいかどうかはわかりませんが$1、十分に文書化されています。L は location: ヘッダーをブラウザーに送信します。QSA は Query String Append を意味します。

于 2008-09-17T21:52:23.743 に答える
0

mod_rewrite の使用について言及したので、.htaccess に単純なルールを提案します。

RewriteCond %{HTTP_HOST} ^www\.foobar\.com$ [NC]
RewriteRule ^(.*)$ http://foobar.com/$1 [L,R=301]
于 2008-09-17T21:50:06.400 に答える
-1
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]

これでうまくいくはずです。

于 2008-09-17T21:49:01.770 に答える