Home Contact RSS

Asp.NET ile URL Rewrite

Bir süredir yoğunluk sebebiyle ilgilenemediğim makale yazma işini bugün bulduğum ilk boşlukta yaptım. Çok rahatlatıcı, öneririm. :)

http://sunali.com/blog/archive/2005/08/23/44.aspx adresine incelendiğinde sırasıyla “blog/archive/2005/08/23″ klasörleri oluşturulmuş ve bu klasörün içerisinde de “44.aspx” isminde bir dosya olması gerektiğini düşünebilirsiniz. Fakat böyle bir zorunluluk yoktur. Asp.Net üzerinde bulunan bir interface’i kullanarak belirtilen adresin - URL kısmında kullanıcının yazdığı adres değiştirilmeden kaldığı halde - başka bir adrese yönlendirilmesini sağlayabilirsiniz.

Makalenin devamını http://www.yazgelistir.com/Makaleler/1000000790.ygpx adresinde okuyabilirsiniz.

Yusuf said,

August 22, 2006 @ 14:00

bu güzel makale için teşekkür ederiz. Url rewrite bazan çetrefil olabilmekte. Bu konudaki karşılaşılan veya karşılaştığınız sorunlar ve çözümleri ile ilgili önerilerinizi paylaşırmısınız?

Coskun SUNALI said,

August 22, 2006 @ 14:17

Selam,

Öncelikle fikirlerinizi belirttiğiniz için ben teşekkür ederim.

Yaşanılabilen sorunlardan bir tanesi, tarayıcıların http://localhost/1/2/3/4.aspx olarak rewrite edilmiş bir URL’de, src özelliği “a.jpg” olarak verilen bir resmi http://localhost/1/2/3/a.jpg olarak aramasıdır.

Bu sorunu ise src özelliğini “/a.jpg” olarak verdiğinizde aşabilirsiniz. Path özelliklerinin başına tek bir / koyulması, bu path’in aranması işlemine root üzerinde başlanması gerektiğini tarayıcılara bildirmektedir.

Aklıma gelen başka özel bir sorun yok. Eğer sizin yaşadığınız bir durum varsa, sorunu çözmeye çalışalım.

İyi çalışmalar.

Yusuf said,

August 22, 2006 @ 14:52

Bahsettiğiniz sorunla ben de karşılaştım ben de tüm imajların kaynağını server tarafında kaynağını tam vererek çözdüm. örneğin root altındaki grafik kalsöründeki a.jpg için http://www.siteurl.com/grafik/a.jpg. bunu server tarafında kendim belirtiyorum. Biraz zor oluyor ama sağlam bir yöntem.

yine response.redirect lerde sorun çıkıyor. bunu yine aynı şekilde server tarafında full url yazarak çözüyorum..

Coskun SUNALI said,

August 22, 2006 @ 14:58

Selam,

Dediğim gibi src=”/grafik/a.jpg” şeklinde kullansanız, işinizi görmüyor mu?

Bir de, Response.Redirect’lerde nasıl bir sorun çıkıyor?

Teşekkürler.

Yusuf said,

August 22, 2006 @ 15:48

response.redirect te de yine grafiğin kaynağını verirken karşılaştığımız sorunla karşılaşmıştım. daha çok asp.net 1.1 de vardı bu sorunlar. çünkü asp.net 2.0 da master page ile biçok şey sorunsuz çalışıyordu. asp.net1.1 usercontrol ler üzerinden yapmaya çalıştığımız için herşeyi, daha karmaşık ve içiçe bi yapı vardı.

Yusuf said,

August 22, 2006 @ 15:57

sizin sitenizde olduğu gibi dosyanın uzantısını da saklayabilirmiyiz? asp.net bunun için sanırım sunucu üzerinde bir takım şeyler yapmak lazım. yazılımsal olarak sağlanamıyor. çünkü asp.net te dosya ismini vermeden klasör adını yazınca url ‘e , direk olarak klasör içerisinde default.aspx , default.htm dosyalarını arıyor. bulamazsa sayfayı bulamadım diyor. bu işlemi iis yapıyor. eğer bulursa default.aspx’i , ilgili sayfayı çalıştırıyor. rewrited page de olabilir bu.

Coskun SUNALI said,

August 22, 2006 @ 16:36

Selam,

Sitemdeki yazılım PHP ile yazılmış ve benim geçiçi olarak kullandığım bir yazılım. PHP bilgim de olduğu için biraz kişiselleştirdim.

ASP.NET ile dediğiniz olayı yapmak mümkün. Yalnız bunun için ISAPI ile ilgili kodlar yazmanız gerekiyor.

Google’da aratmanız durumunda birçok örnek çıkacaktır diye tahmin ediyorum.

Tuna Toksöz said,

September 12, 2006 @ 11:30

Peki asp.net formunun action adresi? bu durumda değişmeyecektir(benim hatırladığım kadarıyla tabi). bir çok durumda sorun yaratabilir…
Bunun için de google da arattığımızda çeşitli örnekler mevcut

Coskun SUNALI said,

October 16, 2006 @ 18:09

Tuna Bey,

Öncelikle geç cevap verdiğim için özür dilerim.

Bahsettiğiniz durum için System.Web.UI.HtmlControls.HtmlForm class’ını base alarak Form class’ını kendiniz tanımlamalı ve System.Web.UI.HtmlTextWriter class’ının “WriteAttribute” methodunu kullanarak “action” özelliğini kendiniz tanımlamanız gerekmektedir.

Umarım fikir işinize yarar.

osman ayhan said,

March 14, 2007 @ 16:44

Selamlar Coşkun Bey,
Merak ettiğim bir konu var;
Neden URL Re-write konusunda MSDN de dahil olmak üzere bir tane bile VB.NET ile yazılmış kod yok? Ben bu kodu vb.net ile yazmayı başaramadım ne yazık ki…
Konu hakkında fikirlerinizi bekliyorum…

Selamlar…

ugur said,

June 18, 2007 @ 23:53

http://www.urlrewriting.net/en/Default.aspx

bu adresteki modülü kullanabilirsiniz. Test ettiğimde sorunsuz çalışıyordu. fakat file extesion olmadan çalışması için server da klasörleri default.aspx i açacak şekilde ayarlamak gerek. action sorunu için şu linke bakabilirsiniz:

http://weblogs.asp.net/jezell/archive/2004/03/15/90045.aspx

Ahmet Ertek said,

August 6, 2007 @ 15:56

Selam, bu bilgileri bizlerle paylaştığınız için teşekkür ederim. Ben biraz daha ileri götürerek bunları html uzantısına çevirdim. Local de sorunsuz çalışırken server da hata vermekte. Uzantıyı aspx yaptığımda ise düzelmekte.

Yani 287-hava-sicakliklari.html de hata verirken

287-hava-sicakliklari.aspx çalışıyor.

Localde her ikiside çalışıyor. Nedeni nedir acebA? Kolay gelsin iyi çalışmalar.

RSS feed for comments on this post · TrackBack URI

Leave a Comment