Htaccess ile 301 Yönlendirmeler Nasıl Yapılır ?

Htaccess ile 301 yönlendirmesi adres değişikliği yaparken veya bir linki kalıcı olarak yönlendirme yaparken kullanılacak bir yöntemdir.

Aşağı işinize yarayacak 301 yönlendirme çeşitleri size uygun olanı seçerek kullanabilirsiniz.


Ortak 301 Yönlendirme Htaccess Kuralları

Tek bir sayfayı nasıl yönlendiriyorsunuz?

Redirect 301 /pagename.php http://www.domain.com/pagename.html

Bir sitenin veya alanın tamamını yeni bir hesaba nasıl yönlendirirsiniz?

Redirect 301 / http://www.domain.com/

Bir sitenin tamamını bir alt klasöre nasıl yönlendirirsiniz?

Redirect 301 / http://www.domain.com/subfolder/

Bir alt klasörü farklı bir web sitesine nasıl yönlendirirsiniz?

Redirect 301 /subfolder http://www.domain.com/

Bir dosya uzantısını nasıl yönlendirirsiniz, ancak sayfa adını korur musunuz?

Örnek: Bir .html uzantısının aynı dosya adını kullanmasını ancak .php uzantısını kullanmasını istiyorsanız.

RedirectMatch 301 (.*).html$ http://www.domain.com$1.php

Eski alandan yeni alan adına yönlendirmek için yeniden yazma yöntemini nasıl kullanırsınız?

RewriteEngine on

RewriteBase /

RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

Yeniden yazmayı, www olmayan bir www alt etki alanından yönlendirmek için nasıl kullanırsınız?

RewriteEngine on

RewriteBase /

rewritecond %{http_host} ^domain.com [nc]

rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]

Bir alan adını alt diziyle www konumuna yönlendirmek için yeniden yazma yöntemini nasıl kullanırsınız?

RewriteEngine on

RewriteBase /

RewriteCond %{HTTP_HOST} domain.com [NC]

RewriteRule ^(.*)$ http://www.domain.com/directory/index.html [R=301,NC]

Eski bir etki alanından, tam yolu ve sorgu dizesini içeren yeni etki alanına yeniden yönlendirmek için yeniden yazma yöntemini nasıl kullanırsınız?

Options +FollowSymLinks

RewriteEngine On

RewriteRule ^(.*) http://www.newdomain.com%{REQUEST_URI} [R=302,NC]

Alt dizini olmayan bir alt etki alanındaki bir alt etki alanından yeni etki alanına yönlendirmek için yeniden yazma yöntemini nasıl kullanırsınız, ancak tam yol ve sorgu dizesini içerir mi?

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/subdirname/(.*)$

RewriteRule ^(.*) http://www.katcode.com/%1 [R=302,NC]

Kök dizinde yer alan dosyalarla birlikte, sorgu parametrelerine sahip URL’leri nasıl yeniden yazıyor ve yönlendiriyorsunuz?

Örnek: Orijinal URL http://www.website.com/index.php?id=3 ve http://www.website.com/path-to-new-location/ adresindeki yeni URL’dir.

RewriteEngine on

RewriteCond %{QUERY_STRING} id=3

RewriteRule ^index.php$ /path-to-new-location/? [L,R=301]

URL’leri sorgu parametreleriyle nasıl yönlendirirsiniz ve dosyaları bir alt dizine yerleştirirsiniz?

Örnek: Orijinal URL http://www.website.com/sub-dir/index.php?id=3 ve yeni sayfa http://www.website.com/path-to-new-location/ adresindedir.

RewriteEngine on

RewriteCond %{QUERY_STRING} id=3

RewriteRule ^sub-dir/index.php$ /path-to-new-location/? [L,R=301]

Yinelenen içeriği ortadan kaldırmak için bir siteyi HTTP’den HTTPS’ye nasıl yönlendirirsiniz?

RewriteEngine on

RewriteCond %{HTTPS} on

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Yinelenen içeriği ortadan kaldırmak için bir siteyi HTTP’den HTTPS’ye nasıl yönlendirirsiniz?

RewriteEngine On

RewriteCond %{HTTPS} on

RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}

Bir index.html veya index.php dosyasını nasıl kaldırır ve root’a nasıl yönlendirirsiniz?

RewriteEngine On

RewriteCond %{THE_REQUEST} /index.php HTTP [NC]

RewriteRule (.*)index.php$ /$1 [R=301,L]

RewriteEngine On

RewriteCond %{THE_REQUEST} /index.html HTTP [NC]

RewriteRule (.*)index.html$ /$1 [R=301,L]

URL kök düzeyinde sorgu dizesini koruyan dizin tabanlı yapıya ilişkin sorgu parametresiyle URL’leri nasıl yeniden yazıyor ve yeniden yönlendiriyorsunuz?

Örnek: Orijinal URL http://www.website.com/index.php?id=100 ve yeni sayfa http://www.website.com/100/.

RewriteEngine On

RewriteRule ^([^/d]+)/?$ index.php?id=$1 [QSA]

URL alt dizinindeki sorgu dizesi parametresini saklayarak, bir sorgu parametresiyle URL’leri bir dizin tabanlı yapıya nasıl yazarsınız?

Örnek: Orijinal URL http://www.website.com/index.php?category=fish ve yeni sayfa http://www.website.com/category/fish/

RewriteEngine On

RewriteRule ^/?category/([^/d]+)/?$ index.php?category=$1 [L,QSA]

Eski bir web sitesini yeni bir alana nasıl yönlendirirsiniz ve URL yolunu mu koruyorsunuz?

RewriteEngine on

RewriteCond %{HTTP_HOST} ^example-old.com$ [NC]

RewriteRule ^(.*)$ http://www.example-new.com/$1 [R=301,L]

Yolu yeni alana geçirmek istemiyorsanız, son satırı şu şekilde değiştirin:

RewriteRule ^(.*)$ http://www.example-new.com/ [R=301,L]

URL’leri bir tane olmadan nasıl yeniden yazıyorsunuz?

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_URI} !(.*)/$ 

RewriteRule ^(.*)$ http://www.example.com/$1/ [R=301,L]

Bir blog alt alanından blog klasörüne nasıl yönlendirilirsiniz?

Örnek: blog.oldsite.com adresini www.newsite.com/blog/ adresine yönlendirin

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{REQUEST_URI}/ blog

RewriteRule ^(.*) http://www.somewhere.com/%{REQUEST_URI} [R=302,NC]

RewriteRule ^(.*) http://www.somewhere.com/blog/%{REQUEST_URI} [R=302,NC]

Bir dizini başka bir dizine nasıl yönlendirirsiniz?

Options +FollowSymLinks RewriteEngine On RewriteRule ^(.*)/old-directory/(.*)$ $1/new-directory/$2 [R,L]

Kaynak : www.dijitalakil.com

Bir cevap yazın

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