Burak Buldu

O bir Teknoloji KurduGalatasaray taraftarıIT ProfesyoneliAntalyalı

IIS web.config ile non-www URL’leri www’ye Yönlendirme

Ziyaretçilerimizi tek bir URL üzerinden takip etmek hem SEO (Arama Motoru Optimizasyonu) açısından önemlidir hem de bir diğer yandan daha güvenli bir yoldur. Websitelerinin bazıları Linux Serverler üzerinde çalışmıyor, özellikle bir çok MVC projeler yapılıyor var. İnternetteki çoğu çözüm Linux server kullanıcıları için .htacces dosyası özelinde hazırlanmış.

Pekala, Windows Server kurulu bir makine üzerinde çalışıyorsak, www olmayan istekleri nasıl www olarak yönlendirebiliriz?

Sitemizin güvenilirliği için bir de SSL sertifikası aldıktan sonra aşağıdaki gibi 4 farklı URL ile erişim sağlanıyor.

  1. http://domain.com
  2. http://www.domain.com
  3. https://domain.com
  4. https://www.domain.com

Biz diyelim ki; https://www.domain.com şeklinde erişilmesini istiyoruz. O zaman web.config üzerinde MapProtocol çağrılırken, aşağıdaki düzenlemeyi yapmamız yeterli olacaktır.

<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <clear />
                <rule name="Redirect to WWW" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTP_HOST}" pattern="^domain.com$" />
                    </conditions>
                    <action type="Redirect" url="https://www.domain.com/{R:0}" redirectType="Permanent" />
                </rule>
                <rule name="Redirect to HTTPS" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

Kolay gelsin.

Paylaş