27 Ağustos 2011 Cumartesi

Asp.net Url Rewrite

.Net tabiriyle Url Rewrite yada drupal tabiriyle Clean URL,adres çubuklarındaki querystringleri dizin haline dönüştüren bir yapı ve bu yapıyı google çok seviyor.
Örneğin site adresi urun.aspx?id=2&adi=telefon3210 gibi olsa google aynı sayfayı defalarca indexlemek istemiyor bu nedenle Url adreslerimiz şöyle olsa çok iyi olur urun/2/telefon3210.html
şimdi bu Url rewrite olayını asp.net üzerinde kolayca yapabileceğimiz bir kütüphane var Intelligencia.UrlRewriter isimli bir kod kütüphanesi mükemmel sonuçlar üretiyor.
öncelikle adım adım işlemlerimizi yapalım.
1. Intelligencia.UrlRewriter.dll kütüphanesini bulup indirelim.
2.dll dosyasını bin dizini altına koyalım
3.visual studio proje kısmında references bölümüne girelim ve add referans diyerek bin dizini altındaki referans dosyasını projemize ekleyelim
4.Web.config dosyasını düzenleyelim.
en basit haliyle web.config dosyası aşağıdaki gibi olmalı kırmızı renkli alanlar web.config dosyasına eklenmeli etiketlediğim yerlerin nerde olduğu önemli.  Örneğin   etiketi altında olmalı ise dışında olmalı gibi..

 



------------------------------------------------------------------------------------------------------
(web.config içeriğini copy paste ile yapıştırınca blogger kodları bozuyor bende resmini çekip koydum artık baka baka yazarsınız.)

Burada şu alana dikkat çekmek isterim;

rewrite url ile $1 ,$2 ile gelecek parametre değerlerini gösteriyorsunuz. sonra onları (.*) ifadesiyle yeniden şekillendiriyorsunuz. en son sayfalarımızın uzantısı html olarak değiştiriyoruz fakat bu işlem eğer toplu hosting kullanacaksınız çalışmayabilir.çünkü html uzantıları asp.net derleyemez  IIS panelde girip düzenleme yapmak gerekecek yada uzantıyı .aspx olarak değiştirebilir yada hiç bir şey yazmadan sanki sanal dizindeki default.aspx çalışıyormuş gibi gösterebilirsiniz.

redirect Url ise bir sayfayı başka bir sayfaya çevirmeyi sağlıyor. Böylece çok kullanılan giris.aspx sayfaları uzantılarından kurtarabileceksiniz.

Kod yazmıyor muyuz?
-Ne kodu yazı bu kadar :)

25 Ağustos 2011 Perşembe

Easyapache


whm panelden easyapache çalıştırdığımda bu hatayı alıyordum bu nedenle 
!! The server's system package manager, 'YUM', failed. !!
!!
This is the command that failed: yum --exclude=kernel* -y install zlib1-devel expat-devel gettext automake19 libpng-devel libopenssl0-dev expat openssl gcc-c++ glibc-devel libpng-dev zlib-devel libstdc++ zlib bison autoconf261 gmake libXpm libstdc++-devel libjpeg-devel openssl-devel automake coreutils libtool-libltdl-devel libopenssl0 openssl-dev libtool patch libstdc++-dev libz-devel libltdl3-devel libltdl libjpeg-dev libopenssl0.9.7-static-devel pam-dev libtool-ltdl-devel libopenssl0.9.7-devel libltdl-devel fileutils e2fsprogs-devel libXpm-devel sed libXpm-dev lsof krb5-dev flex glibc-dev expat-dev krb5-devel make libX11-devel xorg-x11-devel libtool-ltdl libssl-dev gd pam-devel cpp xorg-x11-dev gcc libopenssl0-devel ssl-dev lex autoconf !!
!!
Since EasyApache was unable to resolve it automatically you should: 1) Manually run the failed YUM command (shown above) via SSH 2) See if your particular error is addressed at cPanel - The Leading Control Panel 3) Resolve the YUM problem manually 4) Re-run EasyApache !!
!! Please visit cPanel - The Leading Control Panel for help with this error. !!
!! Restoring original working apache !! 


sed -i -e's/^exclude=.*//' /etc/yum.conf; yum update
komutu çalıştırdım ve iyice bok ettim Whm panelde Apache easyupdate ulaşamadım bu nedenle SSH ile bağlanıp root oldum ve sorunun ne olduğunu anlamak istedim.
şimdi ise
Can't locate version.pm in @INC (@INC contains: /usr/local/cpanel /home/trfighters/perl5/lib/perl5/i686-linux /home/trfighters/perl5/lib/perl5 /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /usr/local/cpanel/Cpanel/CPAN/Getopt/Param.pm line 7.
BEGIN failed--compilation aborted at /usr/local/cpanel/Cpanel/CPAN/Getopt/Param.pm line 7.
Compilation failed in require at /usr/local/cpanel/scripts/cpanel_easy_sanity_check line 16.
BEGIN failed--compilation aborted at /usr/local/cpanel/scripts/cpanel_easy_sanity_check line 16.
Can't locate version.pm in @INC (@INC contains: /usr/local/cpanel /var/cpanel/perl/easy /scripts /home/trfighters/perl5/lib/perl5/i686-linux /home/trfighters/perl5/lib/perl5 /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /usr/local/cpanel/Cpanel/CPAN/base/ball.pm line 9.
BEGIN failed--compilation aborted at /usr/local/cpanel/Cpanel/CPAN/base/ball.pm line 9.
Compilation failed in require at /var/cpanel/perl/easy/Cpanel/Easy.pm line 18.
BEGIN failed--compilation aborted at /var/cpanel/perl/easy/Cpanel/Easy.pm line 18.
Compilation failed in require at (eval 1) line 3.
        ...propagated at /usr/lib/perl5/5.8.8/base.pm line 85.
BEGIN failed--compilation aborted at /var/cpanel/perl/easy/Cpanel/Easy/Apache.pm line 8.
Compilation failed in require at /scripts/easyapache line 23.


bu Hatayı almaktayım.
bu hatayı gidermek içinde /usr/local/cpanel/bin/checkperlmodules komutunu denedim ama olmadı
daha sonra hata bana perl verisyon farkından kaynaklanan bir hata olduğunu söyledğini fark ettim ve 



cd /root
wget http://layer1.cpanel.net/perl588installer.tar.gz
tar -zxf perl588installer.tar.gz
cd perl588installer
./install 


bu komutları uygulayarak perl versiyonunu değiştirdim.
 /scripts/easyapache komutunu tekrar kullandım artık hata vermiyordu fakat easy apache ile tekrar kurulum yapmayı denediğimde ilk baştaki hatayı tekrar aldım.Olsun yinede kurtardık :)




23 Ağustos 2011 Salı

USB Flash Diske İso Dosyası Yazmak

Merhaba İso dosyalarını flash diske yazarak onları dvd gibi kullanabilirsiniz.Örneğin ben pardus çalışan CD sini flash diske kayıt edip flash diskten boot etmek böylece bilgisayarıma flash disk takılı iken linux makinasına dönüştürmek gibi bir fantezim var.
Bunun öncelikle pardus iso dosyasını indirmeli ve  Deamon tool gibi bir araçla bilgisayara bağlamalısınız.Daha sonra Flash diskinizi BOŞALTMALISINIZ.
Artık adımlara başlayabiliriz.

MS-DOS komut işlemini Çalıştıra CMD yazarak başlatabilirsiniz.
komut isteminde discpart yazarak  discpartı başlatalım;

DISCPART>list disk (Sistemdeki disklerinizi gösterecek komuttur .USB diskinizin kaç numaralı disk olduğunu buradan görebilir ve alttaki select disk komutunu buna göre yazabilirsiniz.
DISCPART>select disk 1 (USB diskinizin kaç numaralı disk olduğunu yukarıda komut ile görebilirsiniz ben örnek olarak 1 yazdım)
DISCPART>clean
DISCPART>create partition primary
DISCPART>select partition 1
DISCPART>active
DISCPART>format fs=fat32
DISCPART>assign
DISCPART>exit

sonra
2)Yeniden DOS satırına düştüğünüzde de aşağıdaki komutu yazın

xcopy D:\*.* /s/e/f E:\

D: sanal sürücü yani ISO dosyanız
E: USB disk 


Artık Flash diskiniz bootable oldu yanlız anakartınızın flash diskten başlatılabilir olması gerekli eğer bir sorun çıkarsa biostan flash disk boot etme özelliği açılması gerekli.Flash diskten boot etme özelliği yoksa zaten yapacak bir şey yok.Oturup yeni bios yazacak değiliz değil mi ? :)





16 Temmuz 2011 Cumartesi

php ile TCMB kurlarını sunucuya çekmek

TCMB Kurları çektiğimiz xml dosyası sitenin kapanması yayının aksaması gibi nedenlerden dolayı düzgün çalışmamakta bu nedenle belirli aralıklarda eğer TCMB xml dosyasından kurları çekmek mümkünse çeker eğer kurları çekemiyorsa eski dosyaya zarar vermez böylece xml dosyalarınız güncel kalır.Bunun için php komutu ;

$kod=file_get_contents("http://www.tcmb.gov.tr/kurlar/today.xml");
if($kod==null)
{
echo 'dosya boş';
}
else
{
$dosya_adi = "kur.xml";
$dosya = fopen ($dosya_adi , 'w') or die ("Dosya açılamadı");
fwrite ( $dosya , $kod );
fclose ($dosya);
echo 'xml güncellendi';
}
?>

Cpanel Cron ile bir web safası çalıştırmak

durpal yada diğer içerik yönetim sistemleri cron.php dosyasının belirli periyodlarla çalışmasını istemekte eğer cron job tanımlayabilirseniz(mesela cpanel ile)herhangi bir modül yüklemeye gerek kalmadan cron.php yada başka bir php dosyasını çalıştırabilirsiniz. bunun için cronun çalıştıracağı
komut /usr/bin/wget http://www.tersduz.com/cron.php

cronun çalışacağı zamanıda belirterek artık cronu çalıştırabilirsiniz.

9 Haziran 2011 Perşembe

Sitemap Creator- sitemap oluşturma

google sayfanızı eklerken sitemap oluşturarak eklerseniz google için çok daha hızlı bir indexleme yaptırabilirsiniz.Bir çok online yada program olarak sitemap creator tool mevcut fakat bunların bir çok limitli bende limitsiz bir sitemap creator tool bulabilirmiyim diye aradım ve
http://gsitecrawler.com/en/download/file/?file=1&mirror=1

yukarıdaki adreste this link yazan yere tıklayarak programı indirebilirsiniz.

Programı indirdikten sonra solda bulunan available project kısmının altında add diyerek web sitenizi eklemeniz gerekmekte

2 Mayıs 2011 Pazartesi

.net için IIS ayarlamak

merhabalar
.net için IIS ayarlamak için aşağıda saydıklarımı yapabilirsiniz.
---denetim masasından >program ekle kaldır (Program özellikleri)>windows özelliklerini aç kapa>internet information service,  world web hizmetleri ve uygulama geliştirme özelliklerinden hepsini işaretleyin.

---Eğer önce framework kurulmuş daha sonra IIS kurulmuş ise aşağıdaki komutları komut istemiden çalıştırın (kommut istemine cmd ile ulaşabilirsiniz.)

%windir%\Microsoft.NET\Framework\v4.0.30319\SetupCache\Client\setup.exe

/repair /x86 /x64 /ia64 /parameterfolder Client /q /norestart

* 32 bit framework 4.0.30319 versiyon için;

%windir%\Microsoft.NET\Framework64\v4.0.30319\SetupCache\Client\setup.exe

/repair /x86 /x64 /ia64 /parameterfolder Client /q /norestart

*64 bit için framework 4.0.30319 versiyon için;

daha sonra

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe –i

komutu çalıştırın

*** bu işlemi

HTTP Error 500.21 - Internal Server Error

Handler "PageHandlerFactory-Integrated" has a bad module "ManagedPipelineHandler"

in its module list.

---Bu işlemi yukarıdaki hata içinde yapabilirsiniz.

---Uygulama havuzları kısmında v.4 için yeni havuzlar oluşmakta.

---Uygulamanız için yeni default web site altına gelip framework 4.0 için uygulama havuzu ekleyebilirsiniz.