URL Rewrite în IIS. Cam ca MOD Rewrite în Apache. Redirectări din Web.config

Modulul ăsta e plug-in pentru Internet Information Services, serverul Web din Windows. A apărut de ceva vreme, dar l-am ignorat. Până când m-am săturat să creez directoare sau fișiere care nu făceau altceva decât Response.Redirect().

Pe mine unul mă ajută pentru că pot declara toate redirectările dintr-un site Web editând doar Web.Config. Dar pare să fie tare util atunci când vrei să eviți URL-uri complexe cu o mulțime de parametri QueryString sau când vrei URL-uri mai “sexy” pentru Search Engines. Citiți aici la Features la ce-ar folosi.

Direct în pâine. Iote exemplul, frate!

O mie de vorbe nu fac un ban. Așa am inclus o secțiune pentru redirectări într-un fișier Web.Config. Remarcați că intră-n secțiunea <system.webServer>. Site-ul rulează pe IIS 7.x (din Windows Vista, Windows 7 sau Windows Server 2008).

<system.webServer>
    <rewrite>
        <rules>
            <rule name="Romania Redirects">
                <match url=".*" />
                <conditions>
                    <add input="{Romania Mappings:{REQUEST_URI}}" pattern="(.+)" />
                </conditions>
                <action type="Redirect" url="{C:1}" appendQueryString="true" />
            </rule>
        </rules>
        <rewriteMaps>
            <rewriteMap name="Romania Mappings" defaultValue="">
                <add key="/romania/abonare" value="/romania/abonare.aspx" />
                <add key="/romania/catalogparteneri" value="/romania/business/parteneri/catalog.aspx" />
                <add key="/romania/catalog-parteneri" value="/romania/business/parteneri/" />
                <add key="/romania/centrudepresa" value="/romania/comunicate/" />
                <add key="/romania/epm" value="http://office.microsoft.com/epmsolution/&quot; />
                <add key="/romania/hosting" value="/romania/web/hosting.aspx" />
                <add key="/romania/licentiere/CAL" value="/romania/licentiere/Client_Server_CAL.aspx" />
                <add key="/romania/licentiere/Open" value="/romania/licentiere/Open_License.aspx" />
                <add key="/romania/licentiere/Promotii" value="/romania/licentiere/Promotii.aspx" />
                <add key="/romania/licentiere/SA" value="/romania/licentiere/SA_Software_Assurance.aspx" />
                <add key="/romania/licentiere/Server" value="/romania/licentiere/Client_Server_CAL.aspx" />
            </rewriteMap>
        </rewriteMaps>
    </rewrite>
</system.webServer>

Atenție – nu băgați codul ăsta în Web.Config decât dacă ați instalat pluginul URL Rewrite. Că altfel ASP.NET și IIS.NET nu știu să interpreteze secțiunea.

Documentația este, așa cum ne obișnuiește Microsoft, cam greoaie și stufoasă. Dar bună când te lovește nevoia, deh. Măcar dă impresia c-ar fi completă🙂

Mai grav este că am încercat să fac redirectările cu metoda simplă, cu wildcards. Și nu prea mi-a ieșit. Probabil că am făcut eu ceva greșit. Am început să mă întreb unde se plasează modulul ăsta, la ce nivel, în coada de procesare a cererilor din arhitectura IIS 7

Cum am instalat modulul URL Rewrite. Web Platform Installer

Inițial am vrut să descarc modulul de pe site-ul IIS.NET ca să-l instalez. Dar am descoperit că noua sculă publicată de Microsoft pentru instalarea serverului web merită toată atenția…

Web Platform Installer e o sculă foarte mică care-ți poate instala cam tot ce ai nevoie pentru dezvoltarea sau găzduirea de aplicații Web. Nu instalează doar serverul de Web, ci și module adiționale, motorul pentru baze de date, ASP.NET, versiunea gratuită de Visual Studio Express sau aplicații populare gata făcute. Personal, mie-mi place că te-anunță tot ce e nou și verifică toate dependințele la instalare, ca să se-asigure că ci o configurație funcțională.

Lasă un răspuns

Completează mai jos detaliile despre tine sau dă clic pe un icon pentru autentificare:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s