Etki Alanı Yönlendirme hizmetini yapılandırma. "Domain Redirect 301 Redirect to başka bir etki alanına yönlendirme" hizmetini yapılandırma

Yönlendirme, site ziyaretçilerini bir sayfadan diğerine yönlendirmek için kullanılır. Hangi durumlarda ve hangi amaçla gerekli olabilir? Pek çok seçenek olabilir: örneğin, yönlendirme kullanmanın nedeni sitenin alan adındaki bir değişiklik olabilir. Diyelim ki bir siteniz var" http://www.sitem.com/"iyi trafikle. Koşullar nedeniyle, bu eski alan adını değiştirmek zorunda kaldınız" http://www.mynewsite.com/".

İşte başka bir örnek: arama motorları siteleri sayar " http://www.sitem.com/" ve " http://mysite.com/"tamamen farklı. Bazı siteler bağlantı verecekse" http://www.sitem.com/"ve diğer kısım" http://mysite.com/"o zaman sitenizin bağlantı popülerliği farklı alanlara bölünür.

kullanma 301 yönlendirmesi ile başlayan bağlantıyı takip eden herkesi otomatik olarak yönlendirecek olan WWW - "http://www.sitem.com/" üzerinde " http://mysite.com/", arama motorlarına bu 2 etki alanının ortak olduğunu bildirebileceksiniz. Böylece, bağlantı popülerliği artık iki etki alanı arasında dağıtılmayacak, ortak olarak kabul edilecek ve bu da sitenin konumunu iyileştirecektir. arama motorları.

301 yönlendirmesinin nasıl etkinleştirileceğini gösterelim. WWW olmayan bir etki alanına WWW Apache web sunucusunda.

Öncelikle Apache sunucunuzun aktif bir modülü olduğundan emin olun " mod_rewrite". Bu modül aktif değilse, hosting sağlayıcınızın destek servisine başvurun ve durumu onlara açıklayın. Bu modülün etkinleştirilmesinde herhangi bir sorun olmamalıdır.

Dosyaya erişiminiz varsa " httpd.conf", bu modülü kendiniz etkinleştirebilirsiniz. Bunu yapmak için, bu dosyayı düzenlemek için açın ve aşağıdaki satırın yorumunu kaldırın:
LoadModule rewrite_module modülleri / mod_rewrite.so Güncellenen dosyayı kaydedin ve çalışmaya devam etmek için sunucuyu yeniden başlatın.

Bir sonraki adım, dosyada değişiklik yapmaktır " .htaccess"siteniz. Üzerine aşağıdaki satırları ekleyin ama değiştirmeyi unutmayın" örnek.com"site adresinize:
Yeniden YazmaMotoru Açık
RewriteCond% (HTTP_HOST) ^ www.example.com $
RewriteRule ^ (. *) $ Http://example.com/$1 Ve tam tersi, WWW etki alanına WWW:
Yeniden YazmaMotoru Açık
RewriteCond% (HTTP_HOST) ^ example.com $
RewriteRule (. *) Http://www.example.com/$1 Bundan sonra tarayıcınızı açın ve adres çubuğuna sitenizin adresini yazmadan girin WWW, Örneğin " http://www.example.com/"ve siteye gidin. Her şeyi doğru yaptıysanız, tarayıcının adres çubuğunda otomatik olarak bir değişiklik meydana gelir - girdiğiniz sitenin adresi değişir" http://example.com/".

Bu işlemi gerçekleştirdikten sonra, site ile istek yapıldığında sunucu yanıtı WWW:
HTTP 200 OK durum kodu şu şekilde değişir:
HTTP durum kodu 301 Kalıcı Olarak Taşındı Site bağlantılarının sayısını tamamen koruyarak sayfaları eski etki alanından yenisine yönlendirmek için 301 yönlendirmelerini de kullanabilirsiniz.

Bir sitenin etki alanını değiştirirken, bağlantı yapısını korumak çok önemlidir, yani eski etki alanındaki tüm bağlantıları girerken, ziyaretçinin veya arama motorunun otomatik olarak aynı sayfaya yönlendirmesi gerekir, yalnızca yeni etki alanı.

Bunu yapmak için aşağıdaki satırları kullanın:
Seçenekler + FollowSymLinks
Yeniden YazmaMotoru açık
RewriteRule (. *) Http://www.yournewdomain.com/$1 Değiştirmeyi unutmayın " www.yenialaniniz.com"yeni alan adınızın gerçek adresine.

Ayrıca bir sayfadan diğerine yönlendirme de oluşturabilirsiniz, bu şu şekilde yapılır:
Yönlendirme 301 /youoldpage.html /younewpage.html Yönlendirmelerin yalnızca web sitesi ziyaretçileri için değil, aynı zamanda İnternet kaynağınızın arama motorlarındaki sıralamasının bağlı olduğu arama robotları için yapıldığını unutmayın.

Müşterilerimiz zaman zaman bir siteyi bir alan adından diğerine nasıl yönlendirecekleri sorusuyla bize ulaşırlar. Tipik olarak, bu soru iki şekilde sorulur:

    site 2 adreste açılır:www.sitem.ua vesitem.ua (arama motorları için bu önemli bir farktır ve 2 adresi 2 farklı site olarak algılarlar), bu nedenle sitenin sayfalarına erişirken emin olmak gerekir.www,olmadan sitenin aynı sayfalarına yönlendirme olduwww,örneğin http: // benimsite.ua/ Haberler /üzerindehttp://www.mysite.ua/news/ ( ya da tam tersi).

    birden fazla alan adınız var, ana sitem.ua ve alternatif sitem.ua ve/veya Kiril moisite.ukr... Tarayıcıya my-site.ua ve / veya moisite.ukr adresini yazarken, ziyaretçinin otomatik olarak mysite.ua sitesine yönlendirilmesi gerekir.

1. Alan yeniden yönlendirmedosyada.htaccess .

1.1. www alanından ana alana

Modül sunucunuzda etkinleştirilmişsemod_rewrite , o zaman, hwww ile başlayan adreslerden www olmadan benzer adreslere yönlendirmeyi ayarlamak için dosyaya ihtiyacınız var. .htaccess, kök klasörde www sitenize aşağıdaki satırları yazın:

Yeniden YazmaMotoru Açık RewriteCond% (HTTP_HOST) ^www .(.+)$ RewriteRule ^ (. *) $ Http: //% 1 / $ 1

1.2. Ana etki alanından www etki alanına

Yeniden YazmaMotoru Açık RewriteCond% (HTTP_HOST)! ^ (www .) RewriteRule ^ (. *) $ Http: //www .% (HTTP_HOST) / 1 $

1.3. Bir etki alanından diğerine

Görev, ziyaretçilerin bir etki alanından yeniden yönlendirilmesini ayarlamak için ilkiyle aynı şekilde çözülebilir.alan1.uabaşka birine isimdomain2.uadosyadaki uygun yönergeleri kullanabilirsiniz.htaccess .

Eski etki alanında yapalan1.uahtaccess dosyası, içerikle birlikte:

Yeniden YazmaMotoru Açık RewriteCond% (HTTP_HOST)etki alanı1. u RewriteRule (. *) Http: //etki alanı2. u /$1

1.4. Birden çok alandan yönlendirme

Alanlardan yönlendirme yapmak gerekiyor alan1.ua ve www.domain1.ua yeni bir etki alanına domain2.ua, bunun için şunu yazın:

RewriteCond% (HTTP_HOST) ^ alan1 \. u RewriteRule ^ (. *) $ Http: / / domain2.ua /$1 RewriteCond% (HTTP_HOST) ^ www. etki alanı1 \. u RewriteRule ^ (. *) $ http:// domain2.ua /$1

Benzer şekilde, aşırı yönlendirme ile yapabilirsiniz. etki alanı.ua üzerinde domain.com vesaire.

Ancak, tarifeye dahil olan sınırlı sayıda alan adı içeren bir tarife planı üzerinde barındırıyorsanız, yalnızca bir .htaccess dosyası ile bir site kurmak, tarife kotasında sizi bir alan adından daha mahrum bırakacaktır ki bu her zaman kabul edilemez. Bu durumda, barındırma kontrol panelinin özel bir hizmetini kullanabilirsiniz.

2. Alan yeniden yönlendirme barındırma kontrol panelinde

"cPanel" kontrol paneli örneğinde

301 ve 302 yönlendirme seçenekleri arasından seçim yapabilirsiniz.

301 yönlendirmesi kalıcı bir yönlendirmedir. Onlar. 301 yönlendirmesi kurarken, arama motorları dahil herkes, istenen sayfanın sonsuza kadar yeni adrese "taşındığı" konusunda bilgilendirilecektir. Böyle bir yönlendirme, örneğin bir alan adından diğerine geçerken gereklidir. Böylece arama trafiğinizi kaybetmezsiniz ve adres değişikliği arama motorlarına bildirilir.

302 yönlendirme geçici bir yönlendirmedir. Böylece, 302 yönlendirmeli bir sayfayı arayan kullanıcılar, yönlendirmede belirtilen adresten bir yanıt alacaktır. Ancak arama motorlarında eski adres kalacak ve yerini koruyacaktır.

Ayrıca, www ile sitenin eş anlamlısı ile ilişkili yönlendirme seçeneklerini de seçebilirsiniz. Lütfen http://www.site.ua/ etki alanından http://site.ua/ adresine yönlendirmenin cPanel kullanılarak yapılamayacağını unutmayın. Dosya kullanılarak benzer bir yönlendirme oluşturulur. .htaccess.

Yönlendirme kontrolü oldukça standart görünüyor. Oluşturulan parametreyi kaldırabilirsiniz:

3. Kiril alan adlarını yeniden yönlendirme

Kiril alanlarının yeniden yönlendirilmesi, olağandan (Latince'de) farklı değildir. Sadece punycode dönüştürücüyü kullanmanız gerekiyor.

zayıf kod Unicode karakterleri yalnızca ASCII karakterleri, yani 26 Latin harfi (a-z), sayılar (0-9) ve kısa çizgi (toplamda 37 karakter) içeren bir karakter dizisine dönüştürme yöntemidir.

Ulusal alfabe içeren alanlara IDN alanları denir. Bazı hizmetler IDN etki alanı temsilini desteklemez. Bu nedenle, UKR alanı veya diğer IDN alanları çalışmaz. Bu durumda, Punycode dönüşümünden sonra alan adını kullanmanız gerekir.

Örneğin, etki alanı http: //mysite.ukr/ kodlamadan sonra (yapabilirsinizhttp://wwhois.ru/punycode.php hizmetini kullanın)olur, zaten tanıdık koda yazıyoruz

Yeniden YazmaMotoru Açık RewriteCond% (HTTP_HOST)http: //xn--80arbjktj.xn--j1amh/ RewriteRule (. *) Http: //etki alanı2. u /$1

veya kontrol panelindeki ilgili satırda.

İyi günler, sevgili dinleyicilerim / okuyucularım / bakıcılarım

Bugün size doğru olanı anlatacağım htaccess dosyası aracılığıyla etki alanlarını ve 301 yönlendirmelerini yapıştırma.

Dürüst olmak gerekirse, uzun zamandır yazmıyorum, tamamen kişisel zamanımla ilgili - ne yazık ki, kauçuk değil ve son zamanlarda çok eksik. Karım doğum hastanesinde, bu yüzden oğlum ve tüm ev işleri bana ait ve hala eğitim verdiğimi ve kendi öğrencilerim olduğunu düşünürseniz ne kadar zamanım olduğunu hayal edebilirsiniz.

Ama hadi işe başlayalım!

Sitenin birbirine yapıştırılması veya daha doğrusu bir alan adı olması neden bu kadar önemli?

Gerçek şu ki, arama motorları (Yandex ve Google gibi) bir değil iki site görüyor. Açıklama:

Diyelim ki bir seregakolt.com alanım var ve arama motorları bunlardan ikisini görüyor.

İlk seregakolt.com

İkinci www.seregakolt.com

Onlar. www ile ve www olmadan aynı site - arama motorları onları iki farklı kaynak olarak algılar.

Bunun sonuçları nelerdir? Evet, en üzücü!

Ancak arama motorlarına gelince - onları farklı sitelere bağlantılar olarak algılayacaklar ve sadece bazı bağlantıları kaybedeceksiniz! Onlar. PR ve TIC'nin bir kısmı başka bir alana gidecek.

Görünüşe göre www olmadan bir siteyi tanıtıyorsanız - ve arama motoru önce www ile bir site bulduysa, o zaman www olmadan bir site kopya olarak algılanır - ve tüm çabalarınız boşuna olacaktır, çünkü siteden ayrılacaktır. derecelendirmenin !!!

Bu şekilde ziyaretçi kaybedersiniz!

Doğal olarak, alan adınızı yapıştırdığınızda, tüm bağlantılar www ile veya www olmadan tek bir siteye yönlendirilecektir. Seçtiğiniz gibi. Ve arama motoru, güvenilirliğini koruyarak her şeye tek bir site gibi davranacaktır.

Bunun saf bir aptallık olduğunu biliyorum, ancak arama motorlarımız bu şekilde düzenlenir ve aslan payını ziyaretçi payını getirdiklerinden, bu onların titiz doğası ve aptal sürüngenlerinin dikkate alınması ve ciddiye alınması gerektiği anlamına gelir!

301 yönlendirme ve etki alanı ekleme nasıl çalışır?

Her şey çok basit - ana ayna arama motorlarına gösterilir ve bağlantıların ağırlığını ona aktarırlar!

Üstelik tamamen farklı alanları yapıştırabilirsiniz! Onlar. siteniz daha önce bir alan adındaysa ve onu başka bir alana aktarmak istiyorsanız, ancak aynı zamanda bağlantıları kaybetmek istemiyorsanız, TIC ve PR - alan adı yapıştırma size yardımcı olacaktır.

Burada bir örnek görebilirsiniz. Yazmayı dene ve yine de siteye aktarılacaksın

Ve www, siteme verilen tüm bağlantılardan kaldırılacak. Ve eğer birisi www'den bir link koyarsa, arama motoru tüm ağırlığını web sitesinin etki alanına aktaracaktır.

.htaccess dosyası üzerinden 301 yönlendirmesi yapmak

Bunda zor bir şey yok! Her şey, dosyanın normal bir not defterinde basit bir şekilde düzenlenmesi (oluşturulması ve düzenlenmesi) ile yapılır.

Sahip olanlar - bu dosyayı kolayca düzenleyebilir - sistemle birlikte gelir!

Bu dosyaya sahip değilseniz, o zaman biz onu yaratırız, dosya adı .htaccess- herhangi bir uzantı olmadan!

Belki Windows gösteriş yapacak ve bir ad belirlemeniz gerektiğini söyleyecektir - ardından bu dosyayı Total Commander aracılığıyla oluşturun veya herhangi bir düzenleyicide oluşturun (normal bir not defteri kullanabilirsiniz).

Çoğu durumda, CMS ile birlikte gelir ve sitenin kök dizininde barındırılması gerekir.

Orada değilse, oluşturun ve gönderin.

Eğer öyleyse, sadece düzenleyin.

Şimdi hangi alan adını ana alan yapmak istediğinize karar verin ve aşağıdaki talimatları izleyin!


301'i www'den www olmayanlara yönlendirir:

Bu dosyayı açın ve içine aşağıdaki kodu ekleyin:

Seçenekler + FollowSymLinks RewriteEngine On RewriteCond% (HTTP_HOST) ^ www.domain.com RewriteRule ^ (. *) $ Http://domain.com/$1

Lütfen son iki satırın satırdan hemen sonra gelmesi gerektiğini unutmayın. Yeniden YazmaMotoru Açık- bu önemli!


Ve tam tersi www olmadan www'ye: RewriteCond% (HTTP_HOST) ^ alan \ .com $ RewriteRule ^ (. *) $ Http://www.domain.com/$1

Son iki satır yerine bunları yazmanız yeterli.

Bu dosyaya sahipseniz ve bu satırlardan bazılarını içeriyorsa, ancak önlerinde bir işaret varsa # - bu, satırın yorumlandığı ve hiçbir etkisinin olmadığı anlamına gelir.

Götür onu!


301, bir etki alanından diğerine yönlendirmeler: RewriteRule (. *) Http://www.newdomain.com/$1

Bu ikisi yerine bu satırı ekliyoruz.

GEREKLİ OLARAK:

1. Seçenekler + FollowSymLinks satırı olmalıdır

2. Bir satır RewriteEngine On olmalıdır

3. Yönlendirmeli satırlar, RewriteEngine On satırından HEMEN sonra gitmelidir.

4. .htaccess dosyası bu şekilde adlandırılır, başka bir şey değil!

5. .htaccess dosyası kök dizinde olmalıdır!

6. Domain.com - kendi alan adınıza geçmeyi unutmayın.

Temel olarak, hepsi bu. Ancak 301 yönlendirmeleri Google tarafından iyi anlaşılır, ancak Yandex için başka bir dosya düzenlemeniz / oluşturmanız gerekir. Yani aşağıdaki adım bir zorunluluktur!


Yandex için alan yapıştırma:

Yine sitenin kök dizinine gidin ve robots.txt adlı bir dosya arayın, orada değilse normal bir not defterinde oluşturun.

Aşağıdaki kodu bu dosyaya yerleştirin:

Kullanıcı aracısı: Yandex İzin Verme: Ana Bilgisayar: domain.com

Bu dosyaya sahipseniz, ancak bu satırlar mevcut değilse, bunları bir paragrafın sonuna ekleyin.

Ana aynayı Ana Bilgisayar satırında belirtin - etki alanınızı koymayı unutmayın

Kişilerden ve şirketlerden promosyon siparişi verenler için.

Tabii ki, bu çok nadir bir durum, ama yine de ... Önceden uyarıldı!

Bazen kötü niyetli SEO'lar alan adlarını sizinkine yapıştırabilir ve kendilerini tanıtabilir.

Ve bir süre sonra işbirliğini durdurursanız, kendi alanından sizinkine yönlendirmeyi güvenle kaldırabilir ve paranızın tüm promosyonları hırsıza gider.

Ayrıca, sitenizin ana aynası olan bir robots.txt dosyası olabilir.

Dikkatli ol! Ve sürekli çalışma raporları talep edin.

İlginiz için teşekkürler, Seryoga iletişim halindeydi!

Herhangi bir sorunuz varsa, yorumlarda sorun.

301'i yönlendir veya 301 Kalıcı Yönlendirme, kullanıcıyı otomatik olarak başka bir sayfa adresine yönlendiren bir kuraldır. Onun yardımıyla eski sayfaları yenileriyle yapıştırabilir veya siteyi başka bir alana aktarabilir, siteden birçok kopyayı kaldırabilir ve çok daha fazlasını yapabilirsiniz. Son derece faydalı bir şey - bu yüzden nasıl doğru yapılacağını öğrenmeniz gerekiyor!

Ayrıca, 301 yönlendirmesi ile TCI yapıştırılır (okunur) ve PR - yani. eski değeri yeni adreste tutabilirsiniz. Arama motorlarının gözünde hiçbir şey kaybetmezsiniz. Teoriden pratiğe geçelim.

htaccess'te 301 yönlendirmesi nasıl kurulur

Sitenizin ana kategorisinde .htaccess adlı bir dosya bulunur. Bu, yapıştırma kurallarını belirleyeceğimiz bir servis dosyasıdır. Dosyayı not defteri ile açın (tavsiye ederim not defteri ++ kodlama sorunlarından kaçınmak için). Bunun önemli noktalardan biri olduğunu unutmayın.

.htaccess için kullanacağımız genel şablon:

Seçenekler + FollowSymLinks RewriteEngine On # Burada kuralları belirtiyoruz

Tüm kurallar şu şekilde yazılır:

RewriteCond [Karşılaştır] [Koşul] [İşaretler] RewriteCond [Karşılaştır] [Koşul] [İşaretler] RewriteRule [Şablon] [İkame] [İşaretler]

Şimdi doğrudan yönlendirme ile ilgileneceğiz ve belirli örnekleri analiz edeceğiz.

Daha önce bununla ilgili bir yazı yazmıştım ama her ihtimale karşı sayfayı kullanmanızı kolaylaştırmak için burada özetleyeceğim.

301 yönlendirmelerini kullanma örnekleri

index.php'den ana sayfaya yönlendirme

Yapılandırmak için, ziyaretçileri site.ru/index.php adresinden site.ru'ya yönlendirecek olan aşağıdaki kodu dosyanıza yazmanız gerekir:

RewriteCond% (THE_REQUEST) ^ (3.9) \ / index \ .php \ HTTP RewriteRule ^ index \ .php $ http://site.ru/

Ayrıca index.html'den yönlendirme yapmanız gerekiyorsa, yukarıdaki kodda .php'yi .html ile değiştirin.

Site takma adlarını yapıştırın

Birden fazla alan adınız varsa ve hepsini ana siteye yönlendirmek istiyorsanız, şunu kullanırız:

RewriteCond% (HTTP_HOST) ^ vash-sait.com $ RewriteCond% (HTTP_HOST) ^ www.vash-sait.com $ RewriteCond% (REQUEST_URI)! ^ / Robotlar. * RewriteRule ^ (. *) $ Http: // vash- sait.ru/1$

İlk 2 satıra dikkat edin, the.com bölgesinde bir ayna var, başka veya birkaç bölgeniz varsa, kuralları ekleyin.

www'den www olmayanlara yönlendirme

Bu yöntemi daha önce tanımlamıştım, ancak kendimi tekrarlayacağım. Aynaları yapıştırmak ve www olmadan ana etki alanını seçmek için şunu yazın:

RewriteCond% (HTTP_HOST) ^ www.site \ .ru $ RewriteRule ^ (. *) $ Http://site.ru/$1

www içermeyen bir alandan www olan bir alana yönlendirme

Bu eylem bir öncekinin tam tersidir, sadece ana ayna burada www.site.ru:

RewriteCond% (HTTP_HOST) ^ site \ .ru $ RewriteRule ^ (. *) $ Http://www.site.ru/$1

Eğik çizgili ve çizgisiz 301 sayfa yönlendirmeleri

Bu başka bir kopya türüdür, burada site.ru/category/ ve site.ru/category sayfalarını yapıştırıyoruz, gördüğünüz gibi, ikinci url'nin sonunda eğik çizgi yok:

RewriteCond% (REQUEST_FILENAME)! -D RewriteCond% (REQUEST_URI) ^ (. +) / $ RewriteRule ^ (. +) / $ / $ 1

Aksine, url'nin sonunda bir eğik çizgi bırakmanız gerekiyorsa, bu seçeneğe ihtiyacınız vardır:

RewriteBase / RewriteCond% (REQUEST_FILENAME)! -F RewriteCond% (REQUEST_URI)! (. *) / $ RewriteRule ^ (. * [^ /]) $ 1 /

Herhangi bir nedenle site.ru/category//article.html gibi URL'leriniz varsa, kodu kullanın:

RewriteCond% (REQUEST_URI) ^ (. *) // (. *) $ RewriteRule. % 1 / % 2

burada, "//", "-" veya url'deki herhangi bir çift karakter ile değiştirilebilir.

Toplu kategori değişimi

Bir kategoriyi yeniden adlandırdınız ve ona binlerce URL atandı. Binlerce aynı yönlendirmeyi yazarken yaşlanmamak için şunları kullanıyoruz:

RewriteRule ^ (. *) / Eski kategori /(.*)$ 1 $ / yeni kategori / 2 $

RewriteRule eski kategori /(.*) / eski kategori / 1 $

Yeni bir sayfaya yönlendir

Sayfadan sayfaya en basit yönlendirmeyi şu şekilde yazmanız yeterlidir:

Yönlendirme 301 /old-post.html http://new-site.ru/new-post.html

old-post.html eski sayfanız ve new-site.ru/new-post.html yeni sayfanız olduğunda ve herhangi bir alan adında olabilir (mevcut alan adınız dahil).

parametrelerle url için yönlendirme

Parametreli sayfaların yeniden yönlendirilmesi daha zordur, bir örnek alalım http://site.ru/page.php?sort=articles. Buradaki parametre "sort = makaleler"dir. Kod aşağıdaki gibi olacaktır:

RewriteCond% (QUERY_STRING) sort = makaleler RewriteRule * Http://site.ru/page.php?

Uzantılarla çalışma

.html'yi url'den kaldırın (.php'yi kaldırmak için $ 1.html'yi $ 1.php ile değiştirmeyi unutmayın):

RewriteRule ^ (([^ /] + /) * [^.] +) $ /$1.html [L]

URL'lerde .php'yi .html olarak değiştirin ve bunun tersi de geçerlidir (koddaki yerleri değiştirmeyi unutmayın):

RedirectMatch 301 (. *) \. Php $ http: //www.site.com$1.html

Yeni bir etki alanına 301 yönlendirmesini düzeltin

Bu maddeyi ayrıca vurguladım, tk. Alan adı transferi ile daha çok ilgisi var. Burada önemli bir nokta var, bu robotu düzenleme yönergesini kaçırmamak - kodun 3. satırında belirtilmiştir.

RewriteCond% (REQUEST_FILENAME) robots.txt $ RewriteRule ^ ([^ /] +) $ 1 [L] RewriteCond% (HTTP_HOST) ^ site \ .ru RewriteRule ^ (. *) $ Http://new-site.ru/ $1 RewriteCond% (HTTP_HOST) ^ www.site \ .ru RewriteRule ^ (. *) $ Http://new-site.ru/$1

Bu tür kurnaz olmayan maskaralıkların yardımıyla, yinelenen sayfalardan kurtulacağız, böylece dahili optimizasyonumuzu ve buna bağlı olarak sitenin kalitesini iyileştireceğiz.

Herhangi bir sorunuz varsa, yorumlara yazın - çözeceğiz 🙂

Son güncelleme 26 Kasım 2018

Okuma süresi: 2 dakika

301 yönlendirmesi (301 Kalıcı Olarak Taşındı), bir kullanıcının bir sayfadan (url) diğerine yeniden yönlendirilmesidir.

Neden bir 301 yönlendirmesine ihtiyacınız var?

  • bağlantı ağırlığı transferi
  • eski sayfaların doğru şekilde atılması
  • URL'leri değiştirirken konumların (tam veya kısmi) korunması
  • site içindeki kopyalardan kurtulmak (varsa)
  • bir siteyi yeni bir etki alanına veya HTTPS protokolüne taşıma
  • etki alanı birleştirme

.htaccess dosyası ile 301 yönlendirmesi nasıl yapılır?

Örnekler site.ru gibi bir sitede değerlendirilecektir.

Bir alan adını www ile bir seçenek olmadan yapıştırma

Arama motorları için site.ru ve www.site.ru iki farklı alan adıdır. Alanın bir sürümünden diğerine yönlendirmeyi yapılandırmadıysanız, arama motoru sonuçlarında yinelenen sayfalar görünebilir. Dosyadaki temel teknik optimizasyon ile sitenin ana aynasını gösteren zorunlu bir kural öngörülmüştür, ancak güvenlik nedenleriyle yönlendirmeler de yapılandırılmalıdır. Kesinlikle gereksiz olmayacak.

http://www.site.ru'dan site.ru'ya bir yönlendirme ayarladık. Burada sitenin ana aynası http://site.ru

RewriteCond% (HTTP_HOST) ^ www \. (. *) $

RewriteRule ^ (. *) $ Http: //% 1 / $ 1

HTTPS'ye geçerken 301 yönlendirmesi

Arama motorları son yıllarda güvenlik için bir trend belirledi ve tüm web yöneticilerine siteleri güvenli https protokolüne aktarmalarını tavsiye etti.

RewriteCond% (HTTPS)! = Açık

RewriteRule ^ (. *) $ Https: //% (HTTP_HOST) / 1 $

Bunun tersini yapmanız gerekirse:

RewriteCond% (HTTPS) "açık"

RewriteRule. * Http: //% (HTTP_HOST)% (REQUEST_URI)

Bir statik sayfadan diğerine standart yönlendirme

Sitedeki bazı sayfaların güncelliğini yitirmesi, alakasız hale gelmesi veya yalnızca web yöneticisinin sayfanın url'sini CNC formuna getirmesi gerektiği sıklıkla olur.

Örneğin, http://www.site.ru/page1/ sayfasından http://www.site.ru/prodvizhenie-saytov/ sayfasına bir 301 yönlendirmesi ayarlamanız gerekir.

RewriteCond% (REQUEST_URI) ^ / Sayfa 1 /$

Yeniden Yazma Kuralı ^. * $ http://www.site.ru/prodvizhenie-saytov/?

301-alandan alana yönlendirme

Bazen bir alandan diğerine yönlendirmeler ayarlamanız gereken durumlar vardır. Örneğin, genç, güvenilmeyen bir alan adınız vardı ve zamanla, bir yerden (belki satın alınmış) bir pompalanmış güven alanı ortaya çıktı. Veya site sahibi eski alan adından bıkmış ve başka bir alan adı ile değiştirmek istiyor.

Bir alandan diğerine tam ağırlık aktarımı için bazı yönlendirmelerOlumsuzyeterli, ama bu makalenin konusu bu değil.

RewriteCond% (HTTP_HOST) ^ eski site \ .ru $
RewriteRule ^ (. *) $ Http://www.newsite.ru/$1

Alanınız RF bölgesindeyse

RewriteCond% (HTTP_HOST) ^ xn-… \ .xn - p1ai $
RewriteRule ^ (. *) $ Http://www.site.ru/$1

Sonunda eğik çizgi olan klasörlere yönlendirme /

Bazen sitelerde http://www.site.ru/prodvizhenie-saytov/ ve http://www.site.ru/prodvizhenie-saytov biçiminde yinelenen sayfalar vardır.

RewriteCond% (REQUEST_FILENAME)! -F
RewriteCond% (REQUEST_URI)! \ .. (1,10) $
RewriteCond% (REQUEST_URI)! (. *) / $
RewriteRule ^ (. *) $ Http://www.site.ru/$1/

Php dizin sayfasından (index.php) klasörün kendisine (kök) yönlendirme

Bazen siteler, yönetici panelinin özellikleri veya başka bir nedenden dolayı "teknik çöp" görünebilir. Örneğin, bir sitenin ana sayfası genellikle http://www.site.ru/index.php adresinde bulunur ve ana sayfanın sıralamasına müdahale ederek arama motorlarının dizininde bulunabilir. arama sonuçlarında.

RewriteCond% (THE_REQUEST) ^ (3.9) \ / index \ .php \ HTTP /
RewriteRule ^ dizin \ .php $ http://www.site.ru/

Sitedeki tüm dizin sayfaları için:

RewriteRule ^ (. *) Index \ .php $ http://www.site.ru/$1

Alt etki alanından ana etki alanına 301 yönlendirmesi

RewriteCond% (HTTP_HOST) ^ test.site.ru $

RewriteRule ^ (. *) $ Http: //site.ru% (REQUEST_URI)

gastroguru 2017