HTTP 301 Redirect
Websiteniz varsa veya SEO ile Linux / Unix / Windows platformlarında Apache server üzerinde uğraştıysanız .htaccess ve 301 kavramlarını duymuş olmanız çok muhtemel ama ben yine de bunların neler olduğunu kısaca değineceğim ve yapmanızı sağlayacak kodları altta vereceğim.
.htaccess dosyası nedir?
.htaccess dosyası webserverınızın erişimine açtığınız bütün dizinlere koyabileceğiniz bir text dosyasıdır. Örneğin linux serverınızda:
/var/www/docs/.htaccess
c:/program files/apache/httpdocs/
gibi ana dizinler ve bu dizinler altında bulunabilecek bütün dizinlere yerleştirebileceğiniz bir dosyadır. Bu dosyanın amacı, içine yerleştireceğiniz birkaç satırlık komutlarla Apache ve PHP konfigürasyonunda, o dizine spesifik düzenlemeler ve değişiklikler yapabilmenize müsade etmesidir.
301 Redirect Moved Permanently
Bu komut HTTP RFC lerinde tanımlanmış başlıklardan (header) bir tanesidir. Bu başlığı herhangi bir browsera veya arama motoru botuna gönderdiğiniz zaman, bu yazılımlar o sayfayı artık orada bulamayacağına yeni verilen adreste araması gerektiğini öğrenecektir.
ÖrneÄŸin PHP kodu olarak deÄŸerlendirirsek, alttaki kodu sonofnights.com/index.php dosyasının içine yerleÅŸtirsem, sonofnights.com yazan ziyaretçi ve robotlar otomatik olarak turkiye.com’a yönlendirelecekti.
301 Redirect komutunun bu işlevinin haricinde bir kullanılış sebebi de var. Siteleri ziyaret eden botlar 301 301 Moved Permanently mesajını kendilerine bir nevi emir olarak kabul ederler ve yönlendirildikleri sitenin bu sitenin yeni adresi olduğunu anlarlar. Bir manada bir adresten diğerine evinizi taşınmanız gibi değerlendirebilirsiniz.
<?
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://www.turkiye.com” );
?>
IIS ile 301 Yönlendirme
İnternet Servis yöneticisinde yönlendirme yapmak istediğiniz dosya ve düzüne sağ tıklayıp özellikler kısmına gelin
“a redirection to a URL” butonuna basın
Nereye yönlendireleceğini seçin
Check “The exact url entered above” and the “A permanent redirection for this resource”
Click on ‘Apply’
.htaccess de 301 Yönlendirme
Dosya başına
Redirect permanent /eskidosya.html http://www.adres.com/yenidosya.html
Redirect permanent /eskidizin/eskidosya.html http://www.adres.com/yenidizin/yenidosya.html
Dizinlere
Redirect permanent /eskidizin http://www.adres.com/yenidizin
ColdFusionda 301 ile Yönlendirme
<.cfheader statuscode=”301″ statustext=”Moved permanently”>
<.cfheader name=”Location” value=”http://www.turkiye.com”>
PHPde 301 ile Yönlendirme
<?
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://www.turkiye.com” );
?>
ASP de 301 ile Yönlendirme
<%@ Language=VBScript %>
<%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”,”http://www.turkiye.com”
%>
ASP .NET de 301 ile Yönlendirme
<script runat=”server”>
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”;
Response.AddHeader(”Location”,”http://www.turkiye.com”);
}
</script>
JSP (Java)  de 301 ile Yönlendirme
<%
response.setStatus(301);
response.setHeader( “Location”, “http://www.turkiye.com” );
response.setHeader( “Connection”, “close” );
%>
CGI PERL  de 301 ile Yönlendirme
$q = new CGI;
print $q->redirect(http://www.turkiye.com);
Ruby on Rails de 301 ile Yönlendirme
def old_action
headers[”Status”] = “301 Moved Permanently”
redirect_to “http://www.turkiye.com”
end
