2011-02-07 24 views
0

Passengerで永続的なリダイレクト(301)を作成するにはどうすればよいですか? Railsでリダイレクトを実行する方法については他にも投稿がありますが、Railsレベルではなくサーバーレベルでリダイレクトを行う方が良いようです。301 Passenger(Ruby on Rails)のルートドメインからwwwサブドメインへのリダイレクト301

手がかりはありますか?

ありがとうございます!

答えて

2

サーバーレベルのリダイレクトは、アプリケーションサーバーではなくHTTPサーバーで行われます。それはテクニカのですがApacheの

<VirtualHost xxx.xxx.xxx.xxx:80> 
    ServerAlias example.com 
    Redirect Permanent/http://www.example.com 
</VirtualHost> 

nginxの

server { 
    server_name example.com; 
    rewrite ^/(.*) http://www.example.com/$1 permanent; 
} 

Lighttpdの

$HTTP["host"] =~ "^example\.com$" { 
    url.redirect = ("^/(.*)" => "http://www.example.com/$1") 
} 

:ここにいくつかの例ですこれをスタックの後半で実現することは可能です.Rackアプリのように、サーバのCPUサイクルを節約するためにできるだけ早くこれを行うのが最も理にかなっています。時には、後でこれを行う必要があります。例えば、HerokuのようなホストでHTTP設定を変更できないようにする必要がありますが、ここでそれを行うオプションがあれば、それを推奨します。

+0

どこに 'Apache'ファイル設定がありますか? –

+0

@AlexanderSupertrampはいくつかの異なることに依存します。 http://stackoverflow.com/q/12202021/1249 –

0

Nigerx/Apacheレベルではなく、Passengerレベルにしてもよろしいですか?つまり、リダイレクトがスタックの遠方まで届くのはなぜですか。

どのサーバーを使用しているかによって、これを達成する方法を示すリソースがネット上にあります。