Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
URL-Rewriting bei ASP.NET
amorph
myCSharp.de - Member



Dabei seit:
Beiträge: 26

Themenstarter:

URL-Rewriting bei ASP.NET

beantworten | zitieren | melden

verwendete Web-Technologie: ASP.NET

Hallo,

ich habe ein (vielleicht) recht triviales Problem. Ich möchte eine Site gerne für verschiedene Sprachen unter verschiedenen URL's veröffentlichen, also sowas wie
www.yyy.com/DE/index.aspx für DE und
www.yyy.com/EN/index.aspx für EN

Es soll natürlich jeweils die gleiche index.aspx aufgerufen werden, aber vorher anhand von "DE" und "EN" ein Wert in die Session geschrieben werden. Außerdem müssten natürlich alle Links innerhalb der Seite ebenfalls auf eine URL mit "EN" bzw. "DE" verweisen.
Kann mir jemand einen Hinweis geben wie das am einfachsten zu bewerkstelligen ist?

Vielen Dank
private Nachricht | Beiträge des Benutzers
MarsStein
myCSharp.de - Experte

Avatar #avatar-3191.gif


Dabei seit:
Beiträge: 3430
Herkunft: Trier -> München

beantworten | zitieren | melden

Hallo,

könntest Du nicht einfach mehrere virtuelle Verzeichnisse im IIS machen, die auf das selbe physikalische Verzeichnis zeigen?

Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
private Nachricht | Beiträge des Benutzers
[email protected]
myCSharp.de - Member



Dabei seit:
Beiträge: 407

beantworten | zitieren | melden

Hi,

welche Frameworkversion benutzt du?

Mit .net 4 hast du die Möglichekeit das über UrlRouting zu machen...

URL Routing with ASP.NET 4 Web Forms
private Nachricht | Beiträge des Benutzers
amorph
myCSharp.de - Member



Dabei seit:
Beiträge: 26

Themenstarter:

beantworten | zitieren | melden

Danke für die Antworten.

@MarsStein: Was die virtuellen Verzeichnisse im IIS angeht: teilen die sich denn dann auch die gleiche Session? Wenn ein Benutzer von einer Sprache zur anderen wechselt (und somit von einer URL zur nächsten) dann soll natürlich seine Session erhalten bleiben.

@[email protected]: "leider" verwende ich 3.5
private Nachricht | Beiträge des Benutzers
Xynratron
myCSharp.de - Member



Dabei seit:
Beiträge: 1184

beantworten | zitieren | melden

huhu,

zu den Virtuellen Verzeichnissen Es sind dann "verschiedene" Anwendungen - deswegen haben die unterschiedliche Sessions.

Per web.config lässt sich das mit URL-Mappings lösen:
<urlMappings enabled="true">
    <add url="~/DE/index.aspx" mappedUrl="~/Index.aspx"/>
    <add url="~/EN/Index.aspx" mappedUrl="~/Index.aspx"/>
</urlMappings>

Wird bei vielen Seiten aber auch entsprechend viel. Alternativ kannst du in der global.asax auch in Application_AcquireRequestState den Pfad überprüfen und entsprechend handeln.

Bin aber gerade über nen älteren Artikel von Scott Guthrie gestolpert Url Rewriting with ASP.NET gestossen. Da gibts auch nochmal einige Überlegungen/Lösungen zu dem Thema.

Persönlich würde ich das über Sub-Domains lösen:

de.example.com/index.aspx für DE und
en.yyy.com/index.aspx für EN

das macht es etwas leichter die "Sprache" zu finden ohne, die Seitenstruktur zu ändern. Zusätzlich lässt sich eine "neue" Sprache einfach durch eine neue Subdomain einrichten.

:-)

Xynratron
Herr, schmeiss Hirn vom Himmel - Autsch!
Zitat von herbivore
Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15980

beantworten | zitieren | melden

Zitat von Xynratron
Persönlich würde ich das über Sub-Domains lösen:

de.example.com/index.aspx für DE und
en.yyy.com/index.aspx für EN

Dem stimme ich zu.
Alternativ die selektierte Sprache in nem Cookie speichern und diesen abfragen - beim ersten Besuch die Sprache des Besuchs auslesen oder via IP-Geolocation arbeiten.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers