
01-03-2010, 20:50:00
|
| |
Apache ve .htaacess'in nimetleri.. | | Bir zamanlar; iyinet 'te açtığım ve bilgisayarımı kurcalarken bulduğum; tamamen kendime ait yazımı burda da paylaşmak istiyorum. Forum'umuzda daha önceden verilmemiş bir konu sanırım. Biraz araştırdım. Herkesin; işine yarayacak htaacess yapılandırması bu. Alıntı:
Ben unix sunucularda .htaacess ile yapılabilecek olan birkaç güzel ayarlamadan sonra gerek site içeriğimizin ve gerekse özel bize ait uzantılarla sitemizin daha güzel olabilmesini sağlamak için bu konuyu başlatarak diğer arkadaşlarında bu konularda bilgisi varsa bizimle paylaşmasını istiyorum..
Şimdi; diyelim ki biz hata sayfalarını (404,403 vb. gibi sayfalarımızı) özelleştirerek özel mesajlar vermek istiyoruz.
Öncelikle not defteri açalım ve şunları ekleyelim;
ErrorDocument 400 http://www.sitem.com/hata/400.htm
ErrorDocument 401 http://www.sitem.com/hata/401.htm
ErrorDocument 403 http://www.sitem.com/hata/403.htm
ErrorDocument 404 http://www.sitem.com/hata/404.htm
ErrorDocument 500 http://www.sitem.com/hata/500.htm
bu komutlar ve diziler sayesinde bizler artık sayfa bulunamaması durumunda tamamen kendimize ait hata sayfalarını gösterebileceğiz..
Gelelim; download, resim, css, xml vb. gibi dosyaları başka sitelerdeki linklerden veya direkt olarak erişimlerden korumaya..
eğer yukarıdaki komutu yazmış isek bunun altına şunu ekliyelim..
RewriteEngine on
#referer i kontrol edelim
RewriteCond %{HTTP_REFERER} !^http://(www.)?site.com(/)?.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www.)?subdomain.site.com(/)?.*$ [NC]
#bizim siteden değilse belirttiğimiz uzantıları isteyenleri "dis_erisim_yasak.htm" ye gonderelim.
RewriteRule .*.(gif|jpg|jpeg|bmp|rar|mp3|zip)$ http://www.sitem.com/hata/dis_erisim_yasak.htm [R,NC]
bu şekilde herhangi birisi bir siteye sizin sitenize ait yukarıda belirtmiş olduğumuz uzantılı dosyalardan link verir yada direkt olarak internet explorer vb. gibi browserlardan erişim sağlamaya çalışırsa http://www.sitem.com/hata/dis_erisim_yasak.htm sayfası karşısına çıkacak ve bu şekilde illaki sizin sitenizi ziyaret ederek bu dosyayı indirmesi gerekecektir. Arama motorları için statik görünümlü sayfalar
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule type(.*)/(.*).html$ /index.php?category=$1&article=$2
"www.benimsitem.com/index.php?category=Apache&article=Htaccess" gibi bir linki "www.benimsitem.com/Apache/htaccess.html" bir sanal adrese çevirmiş olduk. Aslında bu şekilde bir adres yok. Ancak .htaccess dosyası yardımı ile Apache web server'a bu şekilde bir adres varmış gibi davranmasını ve index.php gereken parametrelerle çalıştırmasını söyledik.
Burada dikkat edilmesi gereken nokta (.*)/(.*).html$ /index.php?category=$1&article=$2 renklerde belirttiğim gibi birbirlerine denk gelmesidir. aradaki "/" sadece bizim seçimimiz olan bir faktordur. "/" yerine "-" de kullanabilirdik.
Bu dosyayı hazırlayınca linklerimi adres çubuğunda gözüken .html i şekli ile kullanmanız gerekecektir.
en son olarak yapmak istediğim tüm işlemleri yaparak bunu kaydediyoruz ve sitemizin ana ve subdomain'leri varsa o dizinlere ftp yardımı ile atıyoruz.
kaydederken dosya türünü : tüm dosyalar yapın aksi takdirde .txt ekleyecektir..
| * Konu benim bir üyeliğimle yazılmıştı. Tamamen yazarımı benim. |