Ruby on Rails
Posts 1-10 of 12
- Back
- Next
-
Karl Heinz Marbaise Premium Member Group moderatorThe company name is only visible to registered members.Mehrere Domains unterschiedliche Seiten/Controller - eine RoR Applikation
Hallo,
ich habe eine RoR Applikation installiert und nun möchte ich folgendes Erreichen:
Bei Aufruf über
domain.de => URL
domain1.de => URL/xyz
domain2.org => URL/test
domain3.org => URL/zzz
Die Domains verweisen auf den gleichen Server auf dem eine RoR Applikation installiert ist....Wenn möglich sollte das Ganze einfach zu konfigurieren sein....
Ich kann mir selbstverständlich überlegen im Controller den HTTP-Header holen und das irgendwie lösen....aber ich vermute, dass es dafür schon eine Lösung gibt..... DRY ;-)
Ein weitere Problem in dem Zusammenhang ist, ob folgendes geht:
abc.de => URL/de (Content deutsch)
abc.com => URL/com (content englisch)
Die Frage ist, ob das nicht eventuell über eine GET Parameter gelöst werden muss ?
Vielen Dank im Voraus.
MfG
Karl Heinz Marbaise
- 22 Jan 2009, 1:23 pm
-
Joachim ReichelThe company name is only visible to registered members.Re: Mehrere Domains unterschiedliche Seiten/Controller - eine RoR Applikation
Hallo Karl-Heinz,
ich hatte letztes Jahr ein ähnlich gelagertes Problem und habe keine vorgefertigte Lösung gefunden.
Da die Url ja die einzige für die Entscheidung zur Verfügung stehende Information ist, muss schon der Http-Header als Informant dienen.
Eine Möglichkeit, die bei mir gut funktioniert, ist einen eigenen Basiscontroller mit einem before-Filter zu schreiben von dem dann Deine Controller erben - oder Du baust den Filter direkt in den Application Controller ein, wie im Beispiel:
class ApplicationController < ActionController::Base
before_filter :choose_route
#...
protected
def choose_route
url = request.headers["SERVER_NAME"]
# Eingabe mit oder ohne www gleich behandeln
url = url.gsub(/www./, "")
case url
when 'domain.de'
path = domain_path # Definiton der Pfade in der routes.rb
language = "deutsch"
when 'domain2.org'
path = 'domain2_org_path'
language = 'englisch'
else
# default Deiner Wahl
path = xy_path
language = 'german'
end
redirect_to path, :language=>language
end
Vorteil: funktioniert zuverlässig und schnell, Nachteil : Hartcodierte Entscheidung
Wenn sich die domains nach Fertigstellung nicht mehr, oder ganz selten ändern
eine gute Lösung. Keine Magie, man sieht genau was passiert und schnell editiert ist es auch ;-)
Ich hoffe ich konnte Dir eine Anregung geben.
Viel Erfolg !
Joachim
- 22 Jan 2009, 10:40 pm
-
Dr. Torsten Becker Premium Member Group moderatorThe company name is only visible to registered members.Re^2: Mehrere Domains unterschiedliche Seiten/Controller - eine RoR Applikation
In Advanced Rail Recipes von Pragmatic Programmers gibt es ein Rezept:
Give Users Their Own Subdomain
dass sowohl für Subdomänen als auch für Domänen über CNAME. Das Buch kann als PDF online gekauft werden, auf der Seite ist auch der Code zum Studieren.
Torsten Becker
BESTgroup Consulting & Software GmbH
- 26 Jan 2009, 10:19 pm
-
Post visible to registered members
-
Karl Heinz Marbaise Premium Member Group moderatorThe company name is only visible to registered members.Re^2: Mehrere Domains unterschiedliche Seiten/Controller - eine RoR Applikation
Hallo Joachim,
Information ist, muss schon der Http-Header als Informant dienen.
def choose_route
url = request.headers["SERVER_NAME"] Da gibt es wohl auch noch request.host
Das hat mir weiter geholfen...
Danke..
MfG
Karl Heinz Marbaise
- 27 Jan 2009, 12:38 pm
-
Karl Heinz Marbaise Premium Member Group moderatorThe company name is only visible to registered members.Re^3: Mehrere Domains unterschiedliche Seiten/Controller - eine RoR Applikation
Hallo Herr Becker,
In Advanced Rail Recipes von Pragmatic Programmers gibt es ein Rezept:
Ich hätte das Buch besser lesen sollen....dann wäre ich darüber gestolpert....
Vielen Dank für den Hinweis....
MfG
Karl Heinz Marbaise
This post was modified on 27 Jan 2009 at 08:59 pm.- 27 Jan 2009, 12:39 pm
-
Karl Heinz Marbaise Premium Member Group moderatorThe company name is only visible to registered members.Re^2: Mehrere Domains unterschiedliche Seiten/Controller - eine RoR Applikation
Hallo Herr Knarek,
Da kann ich nur das Apache-Modul
http://www.modrails.com/ empfehlen. Einerseits vereinfacht es den Produktionsbetrieb erheblich und bietet ausgezeichnete Performance. Andererseits unterstützt es auch auf ganze einfache Art und Weise den Betrieb von mehreren Apps aufgeteilt auf "Unterverzeichnisse".
Die Konfiguration/Inbetriebnahme ist nicht viel schwerer, als einen "normalen" VirtualHost-Eintrag im Apache zu verwalten. Ich habe derzeit die RoR Anwendung per Apache Balancer laufen und im Hintergrund einen Mongrels-Cluster laufen....läuft sehr gut....
Weiterhin hatte ich ja ein RoR-Applikation mit mehreren Domains die auf unterschiedliche Bereich der App weiterleiten bzw. auswählen sollten....
Zu Modrails habe ich mehrfach gelesen, dass da davon abgeraten wird ?....
Vielen Dank
MfG
Karl Heinz Marbaise.
- 27 Jan 2009, 12:41 pm
-
Roman Sladeczek Premium MemberThe company name is only visible to registered members.Re^3: Mehrere Domains unterschiedliche Seiten/Controller - eine RoR Applikation
Karl Heinz Marbaise schrieb:
Zu Modrails habe ich mehrfach gelesen, dass da davon abgeraten wird ?....
Warum wird davon abgeraten? Wer macht diese Aussagen?
Deployment mit Phusion Passenger aka Modrails ist State-of-the-art und auch der vom Rails Team empfohlene Weg!?
Beste Grüsse,
Roman Sladeczek
This post was modified on 27 Jan 2009 at 01:09 pm.- 27 Jan 2009, 1:07 pm
-
Post visible to registered members
-
Karl Heinz Marbaise Premium Member Group moderatorThe company name is only visible to registered members.Re^4: Mehrere Domains unterschiedliche Seiten/Controller - eine RoR Applikation
Hallo,
Warum wird davon abgeraten? Wer macht diese Aussagen?
Deployment mit Phusion Passenger aka Modrails ist State-of-the-art und auch der vom Rails Team empfohlene Weg!? z.B.:
http://www.guerilla-projektmanagement.de/index.php/archives/...
Hm. Vielleicht habe ich ja nur nicht richtig gelesen....oder nicht genügend....
Vielen Dank für die Hinweise....werde ich mir nochmal anschauen...
MfG
Karl Heinz Marbaise
- 27 Jan 2009, 2:06 pm
- Back
- Next
