2012-03-22 13 views
0

正しいURLパラメータでwww以外をwwwにリダイレクトする必要があります。 URLの多く(非www)は既にGoogleのインデックスにあります。私はurlのparamsが正しいリダイレクトであるという設定が必要です。例:正しいURLパラメータでwww以外のURLにリダイレクト

nice2stay.com/houses/1 

リダイレクトへ:

www.nice2stay.com/nl/holidayhouses/nameofthehouse 

のアイデア?

私のデベロッパーラップトップで以下のコードを試しました。

制約(:ホスト=>は "localhost") ルートを実行します。=>リダイレクトする( "のhttp://www.localhost:3000") マッチ '/ *パス'、:=に> {リダイレクトを|パラメータ| "http://www.localhost/# {params [:path]}"} end

要求されたURLがルートドメインで、リクエストURLがlocalhostの場合は動作しません:/ housesパスです設定が間違っていますか?

答えて

1

編集:私はrailsタグを見てやりなさいごめんなさい...次はまだ有効である:あなたの前のサーバ(Apacheまたはnginxの)でそれを行うことができます。私はアプリケーションコントローラ内で301リダイレクトを行うこともできると思います。


ご使用のサーバーによって異なります。

あなたがApacheの上にある場合、(これは、共有ホスティングのほとんどの場合である)mod_rewriteがインストールされていることを確認し、ホスティングのルートに.htaccessファイルを作成し、その中で以下の書き換えルールを入力します。

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine On 
    RewriteCond %{HTTPS} !=on 
    RewriteCond %{HTTP_HOST} !^www\..+$ [NC] 
    RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
</IfModule> 

これはwww.のプレフィックスを強制し、www以外のURLからwwwのURLへのリダイレクトを行います。これはgoogleにとって最適なソリューションです。

関連する問題