Merhaba. Yazıda IIS üzerinde nasıl outbound rule tanımlanır, daha önemlisi etkin şekilde nasıl yararlanılabilir anlatmaya çalışacağım.
Arayüzdeki bazı kelimeler benim İngilizce işletim sistemi kullanmam sebebi ile farklılıklar gösterecektir ancak zaten yerli yerinde olan her şey resimlerle birlikte karışıklığa mahal bırakmaz sanıyorum.
Outbound Rule Nedir?
Arama motoru optimizasyonu denildiğinde, her ne kadar en önemli tek parametre olmasa da akla ilk gelen Url Rewrite oluyor.
index.asp?sayfa=iletisim gibi bir URL’in iletisim.html ‘e karşı zayıf olduğu aşikar. Eminim bir çoğunuz eski sitelerinizi arama motoru dostu (SEF) hale getirmek için yoğun efor sarf ettiniz. Yazıyı okuduğunuza göre belki de şu an bununla meşgulsünüz veya planlıyorsunuz. Outbound Rule, URL Rewrite işleminin aksine URL’in değil çıktının yeniden yazılmasıdır. Malum, bir uygulamaya URL Rewrite uyguladığımızda sayfalardaki linkler kendi kendine SEF hale gelmiyor, bunun için bir dizi işlem daha yapıyoruz. Bunları kullanılan platform yapılandırması veya fonksiyonlarla yapıyor olabilirsiniz. İşte Outbound Rule burada devreye giriyor. URL Rewrite eder gibi sayfaları Rewrite edeceğiz, html elemanlarını hızlıca değiştireceğiz.
Hazırlık
Outbound Rule’den yararlanmak için öncelikle URL Rewrite desenlerinizi hazırlamış aktif olarak SEF linkler ile (Inbound Rule) çalışan bir siteye sahip olduğunuzu farz edeceğim. Inbound Rule’a Ceviz Forum‘da kısaca değinmiştim, göz atmanızı öneririm. Ancak az sonra hazırlayacağımız örneklerde inbound rule belirlemiş olma mecburiyetimiz yok. Sadece gerçek bir süreçte öncelikle Inbound Rule işlemlerinin yapılması gerekli belirtmek istedim. Örnekler en temel işlemlerden ibaret olacaklar.
Sadece bir kaç kural ile html çıktısını suya sabuna dokunmadan değiştireceğiz. Outbound Rule dinamik (dil / teknoloji bağımsız) – statik fark etmeksizin çalıştığından örneğe konu sayfa; asp, php scripti veya statik bir html belgesi olabilir.
Sunucu IIS 7.x olduğundan konu Url Rewrite modülü etrafında dönecek.
Öncelikle eğer kurulu değilse sunucunuz / bilgisayarınız için işlemci mimarinize uygun kurulumu yapmalısınız (doğrudan x86 / x64 linklerini kullanabilirsiniz) : http://www.iis.net/download/urlrewrite
Kurulum ile ilgili anlatılacak pek bir şey yok. Sıradan bir kurulum, bir kaç tıkla bitecek. Kurulumdan sonra IIS Manager’ı açtığınızda menüde varsayılan web sitesine (bende _root) tıkladığınızda aşağıdaki “Url Rewrite” ikonunu görüyor olmalısınız.
Resim 1
İlk Kurallarımızı Yazıp Test Edelim
Bir index.html dosyası oluşturup içine aşağıdaki kodları yazacağız.
<h1><a href=”index.asp?sayfa=merhaba” onmouseover=”this.title=this.href”>Test</a></h1>
<form action=”sendmessage.asp”>
<input type=”submit” value=”Gönder” onmouseover=”this.title=this.form.action” />
</form>
Sadece bir link ve formdan ibaret. Oluşturacağımız kuraldan sonra sunucu ziyaretçilere yukarıdaki kaynak kodun aksine;
index.asp?sayfa=xxxxx => xxxxx.html
<form action=”sendmessage.asp“> => <form action=”iletisim.html“>
şeklinde çıktılar gönderecek.
URL Rewrite ikonuna çift tıklayıp aşağıdaki gibi kurallarımızı gireceğiz.
Resim 2
Sağ tık > Add Rule(s) veya Actions > Add Rule(s)
Resim 3
Outbounds rules > Blank rule > OK
Resim 4
Precondition tanımlayarak sunucunun sadece text/html çıktılarda bu kuralı işletmesini sağlayacağız.
Resim 5
Add
Resim 5a
Kural yalnızca HTML çıktılar için.
OK (Resim 5 ‘deki pencereyi OK ile kapatın.)
Resim 6
Manipüle edilecek html etiketini seçiyoruz.
Resim 7
Desenimizi ve diğer kısımları giriyoruz.
Apply / Uygula
Daha sonra form etiketi için de bir kural girmemiz gerekiyor. Resim 2‘den itibaren bir kaç farkla aynı işlemi yapıp (artık IsHTML precondution’ı ön tanımlı olarak gelecektir, A yerine Form etiketinin seçilmesi) kural için farklı bir ad (Form_Action) belirledikten sonra kuralın son görüntüsü aşağıdaki gibi olacaktır.
Resim 8
Resim 9
Kurallara geri dönüldüğünde iki ayrı kural aşağıdaki gibi InBound Rules bölümünde hazır olacaklar.
Artık tarayıcımızda http://localhost/index.html sayfasını çağırarak ufak bir test yapabiliriz. Bu sayfanın kaynak kodlarına baktığınızda sizi karşılayan manzara şöyle olacak:
<h1><a href=”merhaba.html” onmouseover=”this.title=this.href”>Test</a></h1>
<form action=”iletisim.html”>
<input type=”submit” value=”Gönder” onmouseover=”this.title=this.form.action” />
</form>
Hata mı Alıyorsunuz?
Eğer
dinamik içerik sıkıştırma etkinken Outbound Rule kullanılamaz
mealinde bir hata iletisi alıyorsanız bu, dinamik içerik sıkıştırmasının aktif olduğu ve pasifleştirmeniz gerektiği anlamına geliyor. Outbound Rules dinamik içerik sıkıştırması ile birlikte kullanılabiliyor ancak varsayılan IIS yapılandırması bunun için oldukça çok uğraş (biraz da uzmanlık) gerektirdiğinden buna değinmiyorum zira bu herhangi bir makale ile yapılması tehlikeli bir işlemler dizisi. Sunucudaki tüm sitelerin çalışmaz hale gelmesi ihtimali yüksek.
Dinamik İçerik Sıkıştırmayı Pasifleştirin
Resim 10
Compression ikonuna çift tıklayın
Resim 11
Dinamik içerik sıkıştırmayı devre dışı bırakın.
Apply / Uygula
Varsayılan Mevcut Etiket ve Nitelikler Hakkında
IIS URL Rewrite Module’de outbound rule tanımlarken varsayılan olarak gelen etiket ve nitelikleri şöyle:
<a>, <area>, <base>, <link>
href
<form>
action
<frame>, <iframe>
src
longdesc
<head>
profile
<img>
src
longdesc
usemap
<input>
src
usemap
<script>
src
Ancak bu liste sadece bunlarla sınırlı olduğumuz anlamına gelmiyor. Mevcut etiketlerin farklı nitelikleri için veya tamamen özel etiketler için Custom Tag yapılandırabilir (Resim 6 : Custom Tags) veya etiket kısmını geçip doğrudan belge gövdesi içinde Regex deseni ile eşleşme arayabilirsiniz.
Outbound Rule’den Başka Nasıl Faydalanılır?
Elde böyle bir imkan varken yapılabilecekler her ne kadar kendi hayal gücümüzle orantılı olsa da üç beş madde ile sıralamaya çalışayım.
Batch processing. Özellikle statik dosyalarda bazen Advanced Find & Replace veya Notepad++ gibi uygulamalar ile toplu bul / değiştir işlemleri yapıyoruz.
Bu tür işler Outbound Rule ile kolayca yapılabilir. Hatta dosyalarınıza meşhur iframe zararlılarından bulaştırmayı başardıysanız bunları silebilirsiniz de ;)
HTTP yanıt başlıklarının manipülasyonu. Örneğin IIS 7.5 web sunucusu yanıtlarda Server başlığı olarak Server: Microsoft-IIS/7.5 gönderiyor. Bunu Server: Apache yapmak sadece kafa karıştırmaktan ibaret olsa da hoş bir atraksiyon olabilir.
Regex yardımı ile eski standartlarda bir belgede Validation için işlemler yapabilirsiniz.
Her ne kadar buraya kadar bahsettiklerimden çok farklı olmasa da geçen yıl Outbound Rule’un tam olarak ne işe yaradığını anlamamı sağlayan Using Outbound Rules to add Web Analytics tracking code adlı makaledeki gibi Google Analytics izleyicisini tüm sayfalara /body etiketinden önce konumlandırarak ekleyebilirsiniz.
Outbound Rule aracılığı ile yapılabileceklerin sadece birazına değindik. Özellikle eski / geleneksel web uygulamalarının standart olarak modernize edilmesinde ve bakım süreçlerinde pratik özellikleri ile çok işinize yarayacağını umuyorum.
Kolay gelsin!
Serhan BAŞTUĞ (skacurt)
Etiketler: 2008 r2, baştuğ, iis, iis.net, outbound rule, rewrite, rewrite module, sef, seo, serhan, serhan baştuğ, serhan.bastug.com, server, url rewrite, windows
2 Comments
UfukArt on 15 Aralık 2011
Outbound Rule kullanımına ihtiyaç duyup konu hakkında internette bilgi ararken kendi blogumda değerli skacurt’un yazdığı makaleye ulaştım… :)
Değerli Skacurt’un “Outbound Rule’den Başka Nasıl Faydalanılır?” başlığı altında bahsettiği find& replace işlemine ihtiyaç duydum. Amacım yayındaki bir web sitesinin statik dosyalarını cdn sisteminden sunmaktı. Dosyalardan notepad++ gibi bir program ile yolları değiştirebilirdim ama bu değişikliğin uzun süre kalıcı olmaması gerektiğinden bu yolu denemedim.
Özetle bu makale sayesinde sitede bulunan imaj, js ve css dosyalarının, örneğin http://www.ubilisim.com/css/style.css şeklindeki adreslerini http://cdn.ufukart.com/css/style.css şeklinde outbound rule tanımlayarak hallettim.
Bu vesileyle uzun zaman güncelliğini yitirmeyecek bu makalesi için değerli skacurt’a (Serhan Baştuğ) teşekkür ederim. Çok kolay oldu…
Cevapla
anonim on 7 Mayıs 2013
bu blank rule a nasıl bir pattern eklememiz gerekiyor resimde hiçbir şey net değil
Cevapla
Leave a Reply
Cancel reply
Name *
Email *
Website
Comment*
Please enable JavaScript to submit this form.
Tags
2008 r2 abaküs altar arama motoru arama motoru optimizasyonu asp bilişim chrome ders eğitim facebook google google chrome google translate hosting hoşgeldiniz iis ilkokul internet japon japonca japonya kitap matematik merhaba dünya mysql optimizasyon php search engine optimization sef seo server soroban sunucu translate ufukart veritabanı video windows windows server wordpress wp XML yazılım youtube
Son Yazılar
Ücretsiz Tarihte Bugün Api
Tüm WordPress Versiyonları
WordPress Yorumu Onayladığınızda Yorum Yapana Bildirim Maili Gönderin
Mysql’de Hangi Depolama Motorunu Kullanmalıyız Sorusuna En Net Cevap
Veritabanı Kullanırken Aklınızda Bulundurun!
Son Yorumlar
Comment Approved Notifier Extended – WordPress Plugin için UBilişim
Comment Approved Notifier Extended – WordPress Plugin için Yusuf
Ücretsiz Tarihte Bugün Api için UBilişim
Ücretsiz Tarihte Bugün Api için Draw
Ücretsiz Tarihte Bugün Api için UBilişim
Arşivler
Ocak 2021
Nisan 2018
Ekim 2015
Temmuz 2015
Mart 2015
Ekim 2012
Temmuz 2012
Haziran 2012
Mayıs 2012
Mart 2012
Ocak 2012
Kasım 2011
Ekim 2011
Eylül 2011
Ağustos 2011
Temmuz 2011
Kategoriler
Akif Ulutaş
ALTAR
D3niz
Domain – Hosting
Genel
Hayata Dair
İnternet
Misafir Blog Yazarları
SdtShn
Site Tanıtımları
Skacurt
Veritabanları & SQL
Web Yazılım
Windows
Wordpress
Yazılımlar
Meta
Giriş
Yazı beslemesi
Yorum beslemesi
WordPress.org
Text Widget
Etiam vitae orci sed nunc tempor ultrices eget a purus. Quisque pellentesque quam venenatis, aliquet ipsum a, auctor lacus. Integer pharetra velit sem, eget luctus leo molestie a. Suspendisse consectetur laoreet diam eleifend interdum.
Latest Posts
Ücretsiz Tarihte Bugün Api
Bu Api ile istek yaptığınızda bulunulan günü...
WordPress Yorumu Onayladığınızda Yorum Yapana Bildirim Maili Gönderin
WordPress sitenize bir yorum yapıldığında site...
Mysql’de Hangi Depolama Motorunu Kullanmalıyız Sorusuna En Net Cevap
Hangi Depolama Motorunu Kullanmalıyız Sorusuna E...
Recent Portfolio
No Posts To Display
Recent Comments
UBilişimSays
Easy WP SMTP eklentiniz ile ilgili görünmüyor. Sanırım Wordpress'in yeni versiyonunda mail fonksiyonuyla ilgili bir değişiklik oldu. Test edip size…
YusufSays
Merhaba, Easy WP SMTP eklentisi ile uyumlu değil mi? Easy WP SMTP ile test maili attığımda problem yaşamıyorum SMTP ayarları…
Responsive Video
REFERANSLARIMIZDAN BAZILARI
UBilişim, şimdiye kadar kullandığım en iyi host firması. Sunucuları çok hızlı ve uptime süreleri harika. Hiçbir zaman sorun yaşatmadı!
Emre ÖZCAN
nolto.com
What a awesome host Cloud hosting is, was a perfect solution for my tattoo business. Amazing pricing, uptime and support!
Matt Renolds
tattooinked.com
Cloud hosting was a great solution for my online tshirt company. Blazing fast servers and unmatched uptime made it perfect!
Sam Johnson
Samonline.com
Hayalinizdeki Web Sitesini Bugün Oluşturun!
Paketini Seç!
İLETİŞİM KURUN
İletişim formu ya da email ile bize ulaşmanız halinde size gün içerisinde kısa sürede cevap veriyoruz.