Htaccess yönlendirme Yöntemleri ve kodları

.htaccess ile https yönlendirme

htaccess yönlendirme Yöntemleri ve kodları

htaccess yönlendirme Yöntemleri ve kodları

SSL kurulu sistemlerde www yada alanadi.com şeklinde gelen ziyaretçilerin https ‘ e yönlendirmek için birkaç farklı yöntem mevcut .

config dosyasında yazılımsal olarak url den gelen veriyi süzerek yapılabileceği gibi htaccess ile de yapılabilmesi mümkündür .

RewriteCond %{SERVER_PORT} !=443
RewriteRule ^ https://www.mehmetalikose.com%{REQUEST_URI} [NS,R,L]] 

kodu htaccess içine yapıştırdığınızda siteniz artık https ile açılacaktır .

.htaccess ile yönlendirme

Kod:
Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^siteniz.com [nc]
rewriterule ^(.*)$ http://www.mehmetalikose.com/$1 [r=301,nc] 

PHP için 301 yönlendirmesi

Kod:
 <?
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.mehmetalikose.com" );
?>

ASP için 301 yönlendirmesi

Kod:
   <%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently";
Response.AddHeader("Location","http://www.mehmetalikose.com/");
%>
PHP- Kodu:
RewriteEngine on
RewriteRule ^(.*)$ http://www.mehmetalikose.com/$1 [R=301,L]

Htaccess ile Domain Yönlendirme

Htaccess dosyası ile bir domain adresini farklı bir domain adresine yönlendirmemiz mümkündür. Bu işlemi yapmak için bir tane .htaccess dosyası oluşturup bu dosyanın içine aşağıda yazdığım kodları yazıp sitenizin ana dizinine veya yönlendirilecek dizine bu dosyayı atmanız yeterlidir. Bu işlem için yazılacak komutlar şu şekildedir;

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.yonleneceksiteismi\.com$
RewriteRule ^(.*)$ http://yonleneceksiteismi.com/$1 [L,R=301]

Mobil Siteye Yönlendirme (.htaccess ile)

Websitenizi mobil ziyaretçileriniz için otomatik olarak mobil tasarlamış olduğunuz sayfaya yönlendirmek için aşağıdaki kaynak kodları kullanabilirsiniz.

# prevent looping
RewriteCond %{HTTP_HOST} !^m.mehmetalikose.com$</code>
# if the browser accepts these mime-types, it's definitely mobile, or pretending to be
RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC,OR]

# a bunch of user agent tests
RewriteCond %{HTTP_USER_AGENT} "sony|symbian|nokia|samsung|mobile|windows ce|epoc|opera" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "mini|nitro|j2me|midp-|cldc-|netfront|mot|up\.browser|up\.link|audiovox"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "blackberry|ericsson,|panasonic|philips|sanyo|sharp|sie-"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "portalmmm|blazer|avantgo|danger|palm|series60|palmsource|pocketpc"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "smartphone|rover|ipaq|au-mic,|alcatel|ericy|vodafone\/|wap1\.|wap2\.|iPhone|android"[NC]

rewrite rules here
RewriteRule .? http://m.mysite.com%{REQUEST_URI} [L,R=302]

Ana dizininiz üzerinde .htaccess dosyası oluşturarak yada mevcut dosyanız içeriğine ekleyebilirsiniz.

Gerekli kodların Açıklamaları
RewriteEngine On
bu satır ile rewrite işlemlerini başlatıyoruz.
Bir Websitesini Bir Başka domaine yönlendirmek
Redirect 301 / http://www.mehmetalikose.com/
index.html dosyasını herhangi bir klasöre yönlendirmek
Redirect /index.html http://www.alanadiniz.com/klasor/
Eski bir sayfayı yeni bir sayfaya yönlendirmek
Redirect 301 /eskisayfa.html http://www.mehmetalikose.com/yonlendirilen.html

Htaccess ile neler yapabiliriz?

  • SEO dostu URL’ler oluşturabilme.
    site.com/icerik.php?id=123 yerine site.com/icerik-basligi gibi
  • Subdomain ya da dizin yönlendirmeleri.
    site.com girildiğinde www.site.com’a yönlendirme gibi
  • “404 sayfa bulunamadı” gibi tüm hata sayfalarını istenilen yere yönlendirebilme.
    site.com/olmayan-sayfa-asdasd girildiğinde sizin belirlediğiniz bir sayfa açılabilir.
  • Sitenizin tamamına ya da bir dizine sadece belirli bir IP’nin girebilmesini sağlayabilirsiniz.
    Siteniz yapım aşamasındayken sadece sizin girip diğerlerini yapım aşamasında sayfasına yönlendirebilirsiniz. 
  • Özel dizinlere erişim engelleme.
    Sadece include edilen php dosyalarının olduğu bir klasörün kullanıcılar tarafından girilmesini engelleyebilirsiniz.
  • Bazı web servisi botlarının sitenizi taramasını engelleyebilirsiniz.
    Hoşunuza gitmeyen bir web arama motorunun ya da spam bir web servisinin sitenizi taramasını engelleyebilirsiniz. 
  • Özel dizinlerinizi şifreleyebilirsiniz.
    PHP ile bir dizin kontrol sistemi yazmaya uğraşmak yerine hemen bir kaç satır htaccess komutu ile istediğiniz dizine şifre ile girilmesini sağlayabilirsiniz.
  • Resimlerinizin başka sitelerde görünmesini engelleyebilirsiniz.
    Başka sitelerde sizin sitenizdeki resimlerin gösterilmesini engelleyerek sunucunuzun bant genişliğin başka sitelerce harcanmasını önleyebilirsiniz. (bu yöntemin adı hotlink diye geçer)
  • Ve bu yukarıda sayılanların haricinde bu yöntemleri bir arada kullanarak çok daha fazlasını yapabilirsiniz.

Htaccess yönlendirme Yöntemleri ve kodları” üzerine 4 düşünce

  1. Erkan

    Mehmet Bey;
    site.com/mobile/deneme-sayfasi.html
    bağlantısını
    sitecom/deneme-sayfasi.html şeklinde nasıl ayarlayabiliriz?

    google bot bağlantı gönderirken bağlantıları /mobile/ ya da /m/ dizininde arıyor. Dolayısıyla sayfa 404 hatası veriyor.

    Yanıtla
    1. serdar

      merhabalar erkan bey,

      öncelikle sorununuzu tam anlayamadım.. 301 mi istiyorsunuz yoksa mobile sayfasına gelenleri mi yönlendirmek istiyorsunuz belirtmemişsiniz. Ben 2 farklı yönlendirme hakkında size bilgi vereyim..

      1. Yöntem .htacses dosyasını düzenle yazıp aşağıdaki kodları kullanabilirsiniz.

      RewriteEngine On
      RewriteCond %{REQUEST_URI} !^/.*$
      RewriteCond %{HTTP_USER_AGENT} “android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile” [NC]
      RewriteRule ^(.*)$ /%{REQUEST_URI} [L,R=302]

      2. Yöntem ise.. Php üzerinden yapılmaktaıdır.

      https://github.com/serbanghita/Mobile-Detect/archive/2.8.24.zip

      yukarıdaki linkten dosyayı indirip ana dizine atmanız yeterli sonrasında ise index.php dosyasına aşağıdaki kodu yerleştirerek işlemleri bitirebilirsiniz.

      < ?php include(“Mobile_Detect.php”); $Tarayici = new Mobile_Detect(); if($Tarayici->isMobile()==TRUE or $Tarayici->isTablet()==TRUE){
      echo “ “;
      exit;
      }
      ?>

      Yanıtla
  2. Ugur

    Hocam bir siteyi komple html sayfalara nasıl yönlendiririz? Mesela ben WordPress kullanıyordum Subdomain açmıştım klasör şeklinde site.com/klasor/icerik gibi WordPress’i sildim şimdi siteyi html olarak kullanıyorum ama site.com/klasor/icerik.html yönlendiremedim yardımcı olabilirmisiniz?

    Yanıtla
  3. serdar

    Uğur Bey Tabiki,

    Öncelikle wordpress admin panelinizde sağ alt tarafdan Ayarlar >>> Kalıcı Bağlantılar bölümüne tıklayınız sonrasında çıkan kutucuklardan özel yapı kısmını işaretledikten sonra karşıdaki boşluğua /%postname%.html yazarsanız artık tüm sayfalarınız html olarak gözükür ve html’e otomatik yönlendirilir.

    Yanıtla

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir