.Htaccess dosyasıyla 301 yönlendirmesi nasıl yapılır? Web siteniz ve sayfalarınız için 301 yeniden yönlendirmesi mi ayarlamak istiyorsunuz? İşte htaccess dosyanıza uygulayacağınız komutlar.
301 yönlendirmesi, bir web sayfasını kalıcı olarak yeni bir URL’ye yeniden yönlendirmenize olanak tanır. Web tarayıcısına ve arama motorlarına, dizinlerini güncellemeleri için orijinal sayfanın değiştiğini söyler. Bu nedenle, 301 yönlendirmesi, Google’a ve aynı zamanda bir sitenin kullanıcılarına çok kötü bir sinyal gönderen 404 hatalarıyla savaşmanın harika bir yoludur. Web sitesinin yeniden tasarımının, alan adının değiştirilmesinin veya HTTPS’ye geçişin bir parçası olarak düzenli olarak 301 yönlendirmelerini kullanıyoruz. 301 yeniden yönlendirmeleri, 3W (www) belirtmeyen İnternet kullanıcılarını da otomatik olarak yeniden yönlendirir veya bunun tersi de geçerlidir.
.Htaccess dosyası, bir web sitesinin kök dizininde bulunur. Değiştirmek için, FTP’nizden indirerek ona erişmelisiniz. Aşağıda açıklanan kodlar .htaccess dosyasında herhangi bir yere yerleştirilebilir. Bu dosya yalnızca metin içerir: bir kod düzenleyiciyle değil, aynı zamanda basit bir not defteri ile de açabilirsiniz.
Uyarı: Herhangi bir değişiklik yapmadan önce .htaccess dosyanızın orijinal sürümünü kaydettiğinizden emin olun. Yanlış kullanım, sitede ciddi arızalara neden olabilir, bir yedeğe sahip olmak her zaman iyidir.
.Htaccess dosyasıyla 301 yönlendirmesi nasıl yapılır?
RedirectPermanent /repertoire/page-a-rediriger.html http://www.exemple.net/repertoire/page-de-destination.html
Yalnızca bir sayfayı yeniden yönlendirmek istemeniz durumunda, orijinal sayfanın URL’sini kopyalayın ve ardından sayfanın yeni URL’sini yeni URL’siyle doldurun – hepsinden önce RedirectPermanent yazın.
RedirectPermanent /repertoire http://www.nom-de-domaine.com/repertoire-de-destination
RedirectPermanent / http://www.nom-de-domaine.com/
RedirectPermanent /nom-de-sous-dossier http://www.nom-de-domaine.com/
Bu tür bir yönlendirme için, RewriteEngine On ile yeniden yazma kurallarının kullanılacağını belirtmemiz gerekir. Birden fazla yönlendirme normal ifadeler (regex) kullanıyorsa, bunu htaccess dosyanızın başında bir kez belirtin.
RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteCond %{REQUEST_URI} ! RewriteRule ^(.*)$ https://www.nom-de-domaine.com/$1 [R=301,L]
Sunucunuza bağlı olarak ayrıca test edebilirsiniz (ikinci satır yerine):
RewriteCond %{HTTPS} !=on RewriteCond %{HTTPS} off
RewriteEngine On RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
RedirectMatch 301 (.*)\.html$ http://www.nom-de-domaine.com$1.php