2009-06-16 9 views
1

Ich hosten eine Website auf DiscountASP.NET und sie haben die Möglichkeit, einen Domain-Pointer für eine separate Domain mit Ihrem gleichen Hosting-Konto hinzuzufügen. Wenn also die ursprüngliche Site abc.com ist, können Sie einen Domain-Pointer für xyz.com erwerben, und beide verweisen zunächst auf den gleichen Root-Speicherort. Die Verwendung von root für abc.com ist OK, aber wenn xyz.com die Adresse ist, möchte ich in ein separates Unterverzeichnis umleiten, das den Code für xyz.com enthält. Wo würde ich versuchen, xyz.com umzulenken, um auf den Code des Unterverzeichnisses zu verweisen, anstatt das Wurzelverzeichnis zu verwenden? Ich denke, dass die Handhabung der Global.asax, in der sich normalerweise der gesamte Routing-Code befindet, zu spät ist, da ich möchte, dass die Global.asax-Datei jeder Site ihre jeweiligen Sites unabhängig behandelt.ASP.NET MVC gehostet bei DiscountAsp.Net und mit einem Domain-Zeiger

Ein Post auf dem DiskontAsp.Net-Forum für klassischen ASP diskutierte das Hinzufügen von Code wie folgt zum Standarddokument.

Wenn InStr (UCase (Request.ServerVariables ("SERVER_NAME")), UCase ("subdomain1.YourHostedDomainName.com"))> 0 Then Response.Redirect ("/ subdomain1") ElseIf InStr (UCase (Request .ServerVariables ("SERVER_NAME")), UCase ("subdomain2.YourHostedDomainName.com"))> 0 Dann Response.Redirect ("/ subdomain2") ElseIf InStr (UCase (Request.ServerVariables ("SERVER_NAME")), UCase ("subdomain3.YourHostedDomainName.com"))> 0 Then Response.Redirect ("/ subdomain3/home.asp") End If

ASP.NET MVC mein erstes Web-Projekt ist und so weit ich das, was ich verstehe, Alle Routing fließt durch Reg isterRoutes() und die Routensammlung, die in Global.asax festgelegt ist. Irgendwelche Ideen?

Antwort

1

benötigen Sie den Unterordner ein separates Application (in DiscountAsp.net Bedienfeld)

dann zu machen, versuchen, eine HttpModule schreiben, die Response.Redirect den Browser in den Unterordner auf der Root-Domain umleiten aufruft.

Wenn Sie Ihre Benutzer auf der Subdomain behalten möchten, glaube ich nicht, dass es möglich ist.Ich habe ASP.NET MVC nie benutzt, aber ich nehme an, dass Routen registriert sind AppDomain, was bedeutet, dass der Ordner für jede Subdomain eine eigene Application sein müsste. Es gibt keine Möglichkeit (AFAIK), die Ausführung über AppDomain s (Server.Transfer wird es nicht tun) zu übertragen.

Wenn ich falsch bin, und es ist möglich, es zu tun, ohne separate Application s zu machen, ein HttpModule machen, die Server.Transfer auf Anfragen von der Sub-Domain-Anrufen (und stellen Sie sicher, dass Links zu dem Ordner, bezüglich, die die Sub-Domain; ~ Pfade werden nicht funktionieren).

+0

Danke für den Vorschlag. Ich musste für ein paar Tage die Stadt verlassen. Ich werde es nächste Woche versuchen. Danke noch einmal. – Rick

+0

Danke für den Hinweis. Ich habe eine separate Anwendung erstellt und ein HttpModule in IIS registriert, das die Umleitung behandelt hat. Ich konnte immer noch nicht alles als zwei unabhängige Seiten arbeiten, auf die ich gehofft hatte, also habe ich gerade ein neues Konto für die zweite Seite eröffnet. Aber ich habe ein bisschen mehr gelernt, so dass es immer eine gute Sache ist. – Rick

0

Der Routenmanager in MVC soll URLs zu Controllern zuordnen. Controller sind Code, und der Ort ist nicht so wichtig. Mir ist nicht bewusst, wie Sie mit dem Routing eine Weiterleitung durchführen können. DiscountASP.Net sollte eine Möglichkeit haben, Ihre neue Domain auf einen anderen Ordner zu verweisen. Ich würde in Ihrem Control Panel nach einer Möglichkeit suchen, dies zu tun.

Wenn Sie auf IIS 7 sind, verwendet dies wahrscheinlich Host-Header, um die Regie für Sie zu übernehmen. In dieser Situation (IIS 7 oder nicht) sollten Sie beachten, dass Sie wahrscheinlich eine Website auf einer Website ausführen werden. Wenn Ihre Root-Site nicht asp.net ist, werden die Dinge wahrscheinlich einfacher sein, wenn Ihr root (abc.com) eine asp.net-Site ist (das klingt nicht nach Ihrer Frage, aber es sind gute Informationen, also erzähle ich es euch trotzdem) die web.configs werden supportiv sein.

- root 
| 
|- xyz.com 
| 
|- web.config (xyz.com) 
| 
|- web.config (abc.com) 

Beachten Sie, dass wird abc.com web.config zuerst angewendet werden, und dann xyz.com, und sie können lästige Probleme in Konflikt geraten und erstellen. Sie sollten jedoch zunächst in Ihrem Steuerungsfeld nachsehen, wie Sie Ihre neue Domäne in einem anderen Ordner anzeigen können. Das Ausführen mehrerer Websites aus einem freigegebenen Hosting-Konto bringt möglicherweise große Kopfschmerzen mit sich, daher wünsche ich Ihnen viel Glück.

+0

Gemäß dem technischen Support von discountasp.net "können Sie das Root Domain Pointer-Addon verwenden, um zusätzliche Domains auf das Stammverzeichnis Ihres gehosteten Kontos zu richten und diese Domains anschließend in ein Unterverzeichnis zu leiten." – Rick

0

Sie scheinen zu versuchen, zwei separate Websites auszuführen, eine davon in einer Sub-Domain.

Ich verwende DiscountAsp.Net nicht, aber sie sollten es Ihnen ermöglichen, eine separate Website für Ihre Subdomain einzurichten. Kontaktiere ihre Unterstützung.

+0

Ich habe ihren technischen Support kontaktiert und angegeben, dass Sie diese Domänen in ein Unterverzeichnis programmgesteuert umleiten müssen. In den Beispielen wird gezeigt, wie mit dem klassischen ASP.Net und Response.Redirect() umgeleitet wird. Ich habe auch in ihrem Forum ohne Antwort noch geschrieben ..... – Rick