none
Internetlink ohne Endung RRS feed

  • Frage

  • Hallo zusammnen,

    Umgebung Webserver auf Windows Server 2012 R2.

    Aufruf der Seite www.meineseite.de/start.html

    wie kann man die Aufrufe so hinterlegen dass man nur www.meineseite.de/start eingeben muss um auf diese Seite zu gelangen?

    Gruß John

    Donnerstag, 24. September 2015 07:43

Antworten

  • Hallo John,

    wenn die Adresse im Browser weiterhin .../start sein soll, macht die obige web.config genau das.

    Falls der Client auf .../start.html umgeleitet werden soll (diese Adresse also in der Adresszeile des Browsers sichtbar sein soll) entferne die erste Regel und schreib bei der zweiten anstelle von type="Rewrite" einfach type="Redirect".


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community


    • Bearbeitet Stefan FalzModerator Donnerstag, 24. September 2015 11:32
    • Als Antwort markiert JSSTGT Freitag, 25. September 2015 06:00
    Donnerstag, 24. September 2015 11:31
    Moderator

Alle Antworten

  • Hallo John,

    dafür gibt es verschiedene Möglichkeiten. Bei statischen Seiten (also ohne ASP.NET Anwendung dahinter) wird das UrlRewrite Modul wahrscheinlich die einfachste Option für dich sein.

    Hierfür musst Du in der Website eine web.config mit folgendem Inhalt anlegen:

    <?xml version="1.0"?>
    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="RemoveHtmlExtension" enabled="true" stopProcessing="true">
                        <match url="(.*)\.html" />
                        <action type="Redirect" url="{R:1}" />
                    </rule>    
                    <rule name="AddHtmlExtension" stopProcessing="true">
                        <match url="(.*)" negate="false" />
                        <conditions>
                            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                            <add input="{URL}" pattern="(.*)\.(.*)" negate="true" />
                        </conditions>
                        <action type="Rewrite" url="{R:0}.html" />
                    </rule>
                </rules>
            </rewrite>
        </system.webServer>
    </configuration>

    Die erste Regel sorgt dafür, dass bspw. ein Aufruf von "Seite.html" automatisch auf "Seite" ohne Dateiendung umgeleitet wird, die zweite Regel sorgt dafür, dass IIS intern die richtige Seite abruft und an den Client zurückgibt.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community


    Donnerstag, 24. September 2015 11:12
    Moderator
  • Hallo Stefan,

    danke für die Rückmeldung, es war mein Fehler - ich habe die Frage falsch gestellt.

    Es soll so sein dass wenn ich www.meineseite.de/start eingebe www.meineseite.de/start.html ausgelöst wird

    Gruß John

    Donnerstag, 24. September 2015 11:27
  • Hallo John,

    wenn die Adresse im Browser weiterhin .../start sein soll, macht die obige web.config genau das.

    Falls der Client auf .../start.html umgeleitet werden soll (diese Adresse also in der Adresszeile des Browsers sichtbar sein soll) entferne die erste Regel und schreib bei der zweiten anstelle von type="Rewrite" einfach type="Redirect".


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community


    • Bearbeitet Stefan FalzModerator Donnerstag, 24. September 2015 11:32
    • Als Antwort markiert JSSTGT Freitag, 25. September 2015 06:00
    Donnerstag, 24. September 2015 11:31
    Moderator
  • Hallo John,

    wenn die Adresse im Browser weiterhin .../start sein soll, macht die obige web.config genau das.

    Falls der Client auf .../start.html umgeleitet werden soll (diese Adresse also in der Adresszeile des Browsers sichtbar sein soll) entferne die erste Regel und schreib bei der zweiten anstelle von type="Rewrite" einfach type="Redirect".


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community



          super danke
    Freitag, 25. September 2015 06:00