перенаправить не-www на www с правильными параметрами URL - PullRequest
0 голосов
/ 22 марта 2012

Мне нужно перенаправить не-www на www с правильными параметрами URL. Много URL (не www) уже в индексе Google. Мне нужен конфиг, чтобы параметры в URL были перенаправлены правильно. Пример:

nice2stay.com/houses/1

перенаправить на:

www.nice2stay.com/nl/holidayhouses/nameofthehouse

Идеи

Я только что попробовал код ниже на своем ноутбуке разработчика.

ограничения (: host => "localhost") делают root: to => redirect ("http://www.localhost:3000") соответствует '/ * path',: to => redirect {| params | «http://www.localhost/#{params[:path]}"} конец

Это работает, когда запрошенный URL-адрес является корневым доменом, но не когда URL-адрес запроса является локальным:

1 Ответ

1 голос
/ 22 марта 2012

Редактировать : Извините, я не видел тег 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. и перенаправит 301 с не-www на URL-адреса www, что является лучшим решением для Google.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...