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