Как я могу перенаправить запросы от Rails на поддомен PHP? - PullRequest
2 голосов
/ 20 января 2010

У меня есть сайт, скажем, example.com, который является PHP. Я конвертирую его в Rails, но есть проблемы за три года (например, проблемы с журналами), которые я не хочу обновлять. К счастью, похоже, что я выбрал выгодный формат URL, т.е. все проблемы начинаются с двух цифр, затем имя файла в большинстве случаев

example.com / 00 / автор-имя / index.php
example.com/19/author-name.php

Я хочу через 301 перенаправить все запросы на эти php файлы на

archive.example.com

И сделайте example.com верхнего уровня сайтом Rails, обслуживающим последние выпуски .. ~ / 20 / author-name

Субдомен находится на хосте снов, а верхний уровень перейдет к героку. (Так что это не часть вопроса.) Спасибо.

Ответы [ 3 ]

1 голос
/ 24 января 2010
ActionController::Routing::Routes.draw do |map|

  map.connect '20/:name', :controller => :twenty, :action => :show
  map.resources :twenty, :as => '20', :only => [:index, :show] 

  map.connect ':url', :controller => :archive, :action => :show,
                     :requirements => { :url => /(([0-1]){1}([0-9]){1})(.*)/ }

  map.root :controller => :pages, :action => :cover  

  map.connect ':controller/:action/:id'
  map.connect ':controller/:action/:id.:format'
end

Для любого запроса, поступающего в домен / 00 в домен / 19, я перенаправляю в контроллер

redirect_to "http://archive.example.com/#{params[:url]}", :status => 301
0 голосов
/ 13 апреля 2016

Этот метод является самым простым и с дополнительным бонусом отправки заголовка 301. Это действительно хорошо, чтобы улучшить свой рейтинг SEO !!!

<?php 
$uri = $_SERVER['REQUEST_URI']; // Gets the user's current URI
$redirect = array("/00/author-name/index.php", "/19/author-name.php"); //Define your 301 redirect uri

// Here's the meet and greet of your problem:
if (in_array($uri, $redirect)) {
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: archive.example.com");
}
?>

Убедитесь, что этот код находится в самом начале вашего скрипта или начальной загрузки

С помощью этого метода вы не только перенаправляете свою аудиторию, но и уведомляете Google (или любую поисковую систему) об изменениях. Это позволит Google обновить свой индекс в кратчайшие сроки.

...