

Web.Config Dosyası URL Rewrite Ve Sonsuz Alt Dizin Döngü Sorunu
-
Merhaba arkadaşlar,
içinden çıkamadığım bi sorunu yine sizlere sormakta fayda buldum.
web.config dosyam bu şekilde:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="true" />
<httpErrors errorMode="Custom" defaultPath="/404.asp" defaultResponseMode="ExecuteURL">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/404.asp" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
</configuration>
Sorun şu:
site.com/ornek/5454-sayfa.html sayfa yapım bu şekilde, olması gereken yani.
site.com/ornek
/xxx/yyy/zzz/5454-sayfa.html ama bu şekilde de yazınca sayfa açılıyor fakat bozuk. site.com
/ornek /yyy /.....sonsuz kadar slash...../5454-sayfa.html böyle de açılıyor. Yani sonsuz şekilde alt klasör varmış gibi google bot sürekli indexlemeye çalışıyor sitemi.İsteğim ise:
web.config dosyasına nasıl bi kural yazabilirim ki ikinci slash'tan sonraki slashlar için ana sayfama redirect şeklinde yönlendirme yapayım.
Tam olarak anlatabildim mi bilmiyorum ama sonsuz bir alt klasör döngüsüne girmiş vaziyette sitem.
-
IIS den çok anlamam ama sorun URL Rewrite modülündeki hazırladığın kurallarla ilgili. (web.config apache'deki .htaccess e mi tekabül ediyor çok bilemiyorum çünkü burada rewrite rule göremedim.)
http://www.iis.net/learn/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module burda dediğine göre IIS den girilebiliyor bu rule.
Girdiğin kuralda kullandığın parametre (.*) gibi birşey içeriyorsa / lerde sayfa oluşumuna dahil oluyor ama dosya yapın bozuluyor. Tavsiyem www.site.com/a/b/c/d/e/f.html i www.site.com a yönlendirmektense base path yani css javascript vs lerin kullandığı pathleri düzeltmen seo açısından daha faydalı olacaktır. Ha zor geliyor dersen de URL Rewrite kuralını değiştirip istediğin hale getirebilirsin.
Biraz karışık oldu iftar sonrası ama anlayamazsan tekrar anlatayım :D
-
Hocam url rewrite kullanıp neden sadece 404.asp yönlendirdin ki :S Neden config içinde kuralları yazmadın hem daha hızlı açılıyor hemde daha stabil :) Clasic asp için soruyorsun değil mi bu olayı?
-
interfector bunu yazdı
Hocam url rewrite kullanıp neden sadece 404.asp yönlendirdin ki :S Neden config içinde kuralları yazmadın hem daha hızlı açılıyor hemde daha stabil :) Clasic asp için soruyorsun değil mi bu olayı?
evet hocam klasik asp için yazmıştım.
S2buyuk hocamın verdiği linki inceleyeceğim biraz. İnşallah yaparım.
-
Hocam 404.asp ile fazla uğraşmadan Urlrewrite 2 geç bence çok sıkıntı yaşamadan doğru yola gel :D
Örnek kural kendi sitemde kullandığım koddur;
<rule name="RuleTest" stopProcessing="true">
<match url="^test/(.*).html$" />
<action type="Rewrite" url="/test.asp?seflink={R:1}" />
</rule>bu şekilde yaptığında test den önce koyduğum ^ işareti "domain.com/" dan sonra direk arıyor yani domain.com/test/deneme.html fakat sen domain.com/deneme/test/deneme.html yazarsan çalışmaz kural budur :)
-
Hocam sayfanın bozuk açılmasının sebebi url de yazan dizine göre css leri resim dosyalarını arıyor ama fazla alt klasöre inmiş olduğundan bulamıyor. Asp.Net te bunu aşmak için css dosya yoluna
Page.ResolveUrl("~")
ekliyorum. Bunu asp de nasıl yaparsın bilmiyorum ama sitenin bozuk açılmasının sebebi bu