Apache .htaccess 301 yönlendirmesi, sunucu taraflı bir yönlendirme ve kalıcı bir yönlendirmedir.
Yani .htaccess dosyası bir Apache sunucu yapılandırma dosyasıdır. .htacces dosyası her dizin için kullanılır.
.htaccess dosyası kullanmak sunucu performansını düşürür. Apache sunucusu ana yapılandırma dosyası httpd.conf'a erişiminiz olduğunda .htaccess kullanımından kaçınılmalıdır.Paylaşılan barındırma web sitelerinin genellikle httpd.conf dosyasına erişimi yoktur ve .htaccess dosyasını kullanmalıdır.
Bu 301 yönlendirme yanıtı, arama motorlarına sayfanın kalıcı olarak eski URL'den yeni URL'ye taşındığını bildirir.
Arama motorları ayrıca eski URL sayfa sıralamasını da yeni URL'ye aktarır.
Bu kodu ekleyin veya eski sayfa.html dizinindeyeni .htaccess dosyası oluşturun.
Old-page1.html'den new-page.html'ye kalıcı yönlendirme.
.htaccess:
Redirect 301 /old-page1.html http://www.mydomain.com/new-page1.html
Tüm etki alanı sayfalarından newdomain1.com'a kalıcı yönlendirme.
.htaccess dosyası eski web sitesinin kök dizininde olmalıdır.
.htaccess:
Redirect 301 / http://www.newdomain1.com/
.htaccess dosyasını old-page.html dizinine yüklediyseniz ve yönlendirme çalışmıyorsa, bu genellikle .htaccess dosyalarının Apache sunucu yapılandırma dosyası httpd.conf'ta etkinleştirilmediği anlamına gelir.
.htaccess dosyası , Apache sunucusunun httpd.conf dosyası eklenerek etkinleştirilebilir.
httpd.conf:
<Directory /srv/www/rapidtable.com/public_html/web/dev/redirect>
AllowOverride All
</Directory>
Önemli: Bu ayar, Apache sunucusunu yavaşlattığı için önerilmez.
httpd.conf dosyasını değiştirme izniniz varsa, .htaccess dosyası yerine httpd.conf'a Redirect yönergesini eklemek daha iyidir.
Yeniden yazma modülünün mod_rewrite.so kitaplığının apache sunucusu tarafından yüklenip yüklenmediğini kontrol edin:
$ apache2ctl -M
Aşağıdaki kodu httpd.conf dosyasına ekleyin.
Yeniden yazma modülünün mod_rewrite.so kitaplığı mevcut değilse, yeniden yazma modülünü yüklemek için ilk satırın açıklamasını kaldırın.
httpd.conf:
# LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
<Directory /srv/www/rapidtable.com/public_html/web/dev/redirect>
Redirect 301 /old-page.html http://www.mydomain.com/new-page.html
</Directory>
httpd.conf güncellemesinden sonra Apache sunucusunu yeniden başlatmayı unutmayın:
$ sudo /etc/init.d/apache2 restart
Advertising