Htaccess 301 Yönlendirme

Domain değiştirmek için yapılan htaccess 301 yönlendirme kodu hakkında bilgi vereceğiz. WordPress siteleriniz içinde aynı şekilde 301 yönlendirmesi yapabilirsiniz.

Bir Htaccess dosyası nedir?

.htaccess veya Hypertext Access dosyası, bir Apache web sunucusunda bulunduğu dizinin yanı sıra herhangi bir alt dizini de kontrol eden bir yapılandırma metin dosyasıdır. Linux tabanlı bir web barındırma planı kullanırsanız, web mülkünüz Apache’de çalışır. Özellikle, WordPress, Joomla, Drupal veya başka bir içerik yönetimi web yazılımı dağıtmışsanız, .htaccess dosyasını belirli dizinlerde görmüş olabilirsiniz.

.htaccess dosyası sunucuya özel talimatlar içerebilir. Bu dosya, sunucunun bulunduğu dizinin şifresini gerektirecek şekilde yapılandırabilir. .htaccess dosyası, kullanıcıları başka bir dizin dosyasına veya siteye otomatik olarak yönlendirmek, IP adreslerini temel alan kullanıcılara kısıtlamak veya izin vermek ve dizin listelerini devre dışı bırakmak için de yapılandırılabilir. .htaccess dosyasını düzenlemeniz gerekmeyebilir, ancak bunu yaparsanız, dosyaya yalnızca .ttaccess, yani .txt veya .htm dosya uzantısı olmadan ve yalnızca bir önceki sürümle “.htaccess” adını verdiğinden emin olmalısınız.

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]

Bir cevap yazın

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