簡體   English   中英

使用正確的URL參數將非www重定向到www

[英]redirect non-www to www with correct URL params

我需要使用正確的URL參數將非www重定向到www。 Google索引中已經有很多網址(非www)。 我需要一個配置,使URL中的參數正確重定向。 一個例子:

nice2stay.com/houses/1

重定向到:

www.nice2stay.com/nl/holidayhouses/nameofthehouse

有想法嗎?

我只是在開發筆記本電腦上嘗試了下面的代碼。

Constraints(:host =>“ localhost”)執行root:to => redirect(“ http://www.localhost:3000”)匹配'/ * path',:to => redirect {| params | “ http://www.localhost/# {params [:path]}”}結尾

當請求的URL是根域時有效,但當請求的URL為localhost:/ houses時無效。路徑配置不正確嗎?

編輯 :對不起,我還沒有看到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到301網址的301重定向,這是Google的最佳解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM