• Temel Düzenli İfade Operatörleri

    Denemeye karar verdim. Kendi tecrübelerimin izinde SEO ve "Ben bir web yöneticisiyim" konusuna dair gözlemler, pratik uygulama ve problem çözümleri yayınlayacağım. Ne kadar sürer bilmiyorum, zaman gösterecek.

    Açıklayıcı önsöz: Ben bir arama motoru optimizasyonu (SEO) uzmanı veya programcı değilim. Burada açıklanan her şey az çok ileri düzey bir kullanıcının deneyimi ve sezgisel değerlendirmeleridir.

    Devamı: Ayrı olarak, sitenin rehabilitasyonunda yeniden kullanılabilir yardım için Ave'a şükranlarımı sunmak istiyorum :)

    Yani konuya

    Yönlendirme 301: Bir sayfadan diğerine nasıl yönlendirilir

    Görevin uygulanması basit ve bunu biliyordum, ancak sitenin 3 yıldan fazla bir süredir var olduğu süre boyunca 301 yönlendirme bir kez kullanıldı ve benim tarafımdan değil. Ancak geçen gün siteden kasıtlı olarak birkaç sayfayı kaldırdım ve eski (kaldırılan) bağlantılara Yönlendirme 301'i koymak zorunda kaldım.

    Yönlendirme 301 nedir?

    Bize göre "yönlendirme", "yönlendirme", "yönlendirme". Yani sayfanın adresini (URL) önceki yerden yenisine kalıcı olarak yönlendirmek istediğimizi bildirdiğimiz bir koddur. Yönlendirmeyi silerek "Sonsuza Kadar" iptal edilebilir.

    301 - kalıcı yönlendirme

    302, 303 ve 307 - geçici yönlendirme

    Bu ne için?

    Basit bir örnek: sitenizde içeriğe sahip bir sayfanız vardı, onu sildiniz, artık mevcut değil, bu, bu sayfaya ulaşan kişinin (örneğin Google veya Yandex'den) bir "404 hatası" göreceği veya "Sayfa bulunamadı". Kötü bir seçenek - bir kişinin sitenizi hemen kapatması veya - eğer varsa, sitenizdeki "arama" yoluyla ne için geldiğini bulmaya karar vermesi.

    Her durumda, bir "404 hatası" görmek hoş değildir ve arama motorları, bu tür sayfaların sitedeki toplu varlığını komik olmayan bir şekilde değerlendirir - sitenizi arama sonuçlarında düşürebilirler.


    Ekran görüntüsüvideodan Google'ın web spam ekibinin başkanı Matt Cutts'ın "301 yönlendirmeleriyle PageRank ne kadar kaybedilir?" sorusunu yanıtladığı.

    Ancak sitedeki sayfaları silmeden yapamazsınız, çeşitli nedenlerden ve çeşitli nedenlerden dolayı 301'i koymanız gerekir.

    Web siteleri 301 yönlendirmelerini ne zaman kullanır?

    1. sitenin bir sayfasını (bağlantı) diğerine yönlendirmek
    2. www içeren site bağlantıları www olmayan bağlantılara yönlendirir veya tam tersi
    3. Alan adında veya site motorunda değişiklik olması durumunda bağlantıların toplu olarak yeniden yönlendirilmesi

    Bunlar ana vakalardır. Benim durumum ilk dava ve onu değerlendiriyoruz.
    Basitçe yapıldı, ancak basit seçenek benim için işe yaramadı, doğru seçeneği bulmak için birkaç saat Google'da arama yapmak zorunda kaldım.

    301 yönlendirmesi yapma

    Bu, sitenin kök klasöründe bulunan .htaccess dosyasında yapılır. Açın ve yönlendirmemizi oraya girin. Hemen ardından yazdım Yeniden Yazma Tabanı /

    Değişiklikleri .htaccess'e kaydedin. Tüm. Eski (çalışmayan) bağlantının yeni bağlantıya yönlendirilip yönlendirilmediğini kontrol edin.

    Bu seçenek bende işe yaramadı. Sonuç: Yönlendirme olmadı ve bağlantı adresine ?q= parametresi eklendi. İşte benim için işe yarayan seçenek. Açıklığa kavuşturuyorum: Drupal'daki bir site için uygulandı

    Merhaba sevgili arkadaşlarım! Bugün "korkunç" kavramı hakkında bir makale yazmaya karar verdim. 301 yönlendirmesi. Evet korkmayın, aslında çok ama çok basit :). Bu yazıda size bunun ne olduğunu, neden gerekli olduğunu, nasıl yapılacağını ve bu konuyla ilgili eşit derecede yararlı birçok bilgiyi anlatacağım!

    Haber #1

    Çeşitli popüler aracı kurumlara yatırım yapmak ilgimi çekiyordu. Bu konuyla ilgili biraz para yatırdığım birkaç makale yazdım:

  • Hakkında makale;
  • Yatırımla ilgili bir makale.
  • Bu yazılarda nereye ve ne kadar yatırım yaptığımı anlattım. Yakında daha az kârlı olmayan başka bir aracı kurum hakkında bilgi edineceksiniz, bu yüzden bu makalenin yayınını kaçırmayın! Bu şirkete veya daha doğrusu bu güven yönetimi programına yatırım yapmaktan elde edilen aylık gelir %7-40 arasında.

    Şimdi yönlendirmenin ne olduğunu bulalım.

    Yönlendir bir alan adından diğerine (bir siteden diğerine), sitenin bir sayfasından diğerine transferdir (yönlendirme veya yönlendirme). Onlar. kullanıcı tarayıcısının satırına sayfanın veya sitenin bir adını yazar ve tamamen farklı bir sayfa veya site adına ulaşır.

    Web yöneticilerinin neden 301 yönlendirmelerine ihtiyacı var?

    Aşağıdaki durumlarda 301 yönlendirmesi kullanın:

    1. Yapıştırmak için .

    Unutmayın, geçen yazımda www alan adında bir web sitesine sahip olmanın istenmeyen bir durum olduğundan bahsetmiştim, çünkü bu, bağlantı kütlesinin iki alana yeniden dağıtılmasına yol açar ve sonuç olarak sitenin arama motorlarındaki sıralamasını olumsuz etkiler;

    2. Bir site yeni bir alana taşındığında. Site çeşitli arama motoru filtrelerinin kapsamına giriyor, arama trafiği azalıyor (veya tamamen kayboluyor), bu nedenle yeni bir alan adına ihtiyaç duyuluyor. Peki ya normal blog okuyucuları? Blogunuza yer işareti koyan veya abone olanlara ne dersiniz? 301 yönlendirmelerinin kullanışlı olduğu şey budur;

    3. Sitenin TCI ve PR'sini artırmak için arama trafiğinden tasarruf edin.Örneğin, belirli bir sitenin (ana sitenin) PR'sini artırmak istiyorsunuz. Bunu yapmak için, mevcut iyi puzomerki ile satın almanız ve ana siteye yönlendirme yapmanız gerekir, ardından TCI, PR ve arama trafiği ona aktarılacaktır.

    4. Sayfa adresini değiştirmeniz gerekiyorsa.Örneğin, sayfanız arama motorlarında üst sıralarda yer alıyorsa veya dizine eklenmişse ve dizinin dışında kalmasını istemiyorsanız, 301 yönlendirmesi tam da ihtiyacınız olan şeydir.

    5. Ücretsiz barındırmadan ücretliye geçiş yaparken.

    301 yönlendirmesinin başka kullanım alanları da vardır ancak şimdilik yukarıdakilere odaklanalım.

    yönlendirme sınıflandırması

    Söylediğim gibi, genel gelişim için acemi bir web yöneticisinin 301 yönlendirmelerinin yanı sıra başka yönlendirmelerin de olduğunu bilmesi gerekir:

    Ancak en sık kullanılanı 301 yönlendirmesidir.

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

    Soru ortaya çıkıyor: dosya nedir .htaccess? Bu, çeşitli 301 yönlendirme komutlarının depolanacağı dosyadır (sayfanın, etki alanının vb. yeniden yönlendirilmesiyle ilgili).

    Gerçek şu ki, onu bir bilgisayarda her zamanki gibi yeniden adlandıramazsınız, bir hata oluşturulur (benim için), ancak yukarıdaki programların yardımıyla kesinlikle bunu yapabilirsiniz.

    Şimdi dosyayı açın (bir metin düzenleyici kullanarak) ve gerekli bilgileri girin. kodu yeniden yönlendirin.

    Ziyaretçileri bir siteden diğerine göndermek istiyorsanız

    Yönlendirme 301 / http://www.domain.com

    Yönlendirme 301 - sitenin taşındığını gösterir;

    "/" - blogun en üst seviyesindeki her şeyin yeni alana taşınacağını (yönlendirileceğini) belirtir.

    Örneğin sitenin bir sayfasından sitenin başka bir sayfasına yönlendirme yapmak istiyorsanız .htaccess dosyasında aşağıdaki kodu yapıştırmanız gerekir:

    Yönlendirme 301 /old-page.html http://new-domain.ru/new-page.html
    veya
    Kalıcı /eski-sayfa.html http://yeni-alanadi.ru/yeni-sayfa.html'yi yönlendir

    YönlendirmeKalıcı /eski-sayfa.html http://yeni-alanadi.ru/yeni-sayfa.html

    RedirectMatch yönergesini kullanarak yönlendirme

    Bu yönlendirme neredeyse öncekiyle aynıdır, ancak burada eskiler için normal bir ifade ayarlayabilirsiniz, örneğin CMS'yi PHP'den ASP'ye değiştirirken yönlendirme kodu şöyle görünecektir:

    RedirectMatch /(.*)\.php$ /$1.aspx

    www olan bir alan adından www olmayan bir alana 301 yönlendirmesi

    Motoru Yeniden Yazma açık
    RewriteCond %(HTTP_HOST) ^www.site.ru$
    Yeniden Yazma Kuralı ^(.*)$ http://site.ru/$1

    www olmayan bir alan adından www olan bir alan adına 301 yönlendirmesi

    Motoru Yeniden Yazma Açık
    RewriteCond %(HTTP_HOST) ^site\ .ru$
    Yeniden Yazma Kuralı (.*) http://www.site.ru/$1

    Yeniden Yazma Motoru açık|kapalı- bu, .htaccess dosyasının koduna erişimi devre dışı bırakmaya veya etkinleştirmeye yarayan özel bir yönergedir, erişim mod_rewrite barındırma modülü aracılığıyla gerçekleştirilir;

    Yeniden Yazma Koşulu dönüşüm kurallarına ilişkin koşulları tanımlayan özel bir direktiftir. Bir mod_rewrite barındırma modülü yönergesidir;

    Kuralı Yeniden Yazçeşitli dönüşümlerden sorumlu olan bir direktiftir. Bu durumda 301 yönlendirmesi söz konusudur.

    Öncelikle sayfaya ilişkin bilgiler RewriteCond yönergesine girer, ardından bu bilgiler RewriteRule yönergesine dönüştürülür. Yukarıdaki kod kısaca bu şekilde çalışmaktadır.

    Evet, bilgiyi anlamak zordur (ilk başta), ancak bu konuda uzmanlaşırsanız gelecekte çok daha kolay olacaktır.

    Ve bu yazıda bitireceğim, herkese güle güle!

    Not:

    Saygılarımla, Alexander Sergienko

    Yanıt kodu 301 (Kalıcı Olarak Taşındı), istenen belgenin artık kalıcı olarak yeni adreste mevcut olduğu anlamına gelir. Birkaç durumda 301 yönlendirmesi gerekebilir: yeni bir alan adına geçmek, sayfa adresini değiştirmek veya . Bu etkinliklerin hedefleri oldukça şeffaftır:

    • Eski metrikleri yeni bir sayfaya veya alana aktarma.
    • Hem harici hem de dahili bozuk bağlantıları ortadan kaldırın.
    • Yinelenen sayfaları ortadan kaldırın.

    301 yönlendirmesi yapmanın birkaç yolu vardır, ancak benim tercih ettiğim seçenek sitenizin FTP kök klasöründe bulunan .htaccess dosyasını kullanmaktır (eğer orada değilse, sadece oluşturun, uzantısı yoktur).

    Sayfadan sayfaya 301 yönlendirmelerini ayarlama

    Çoğu zaman, bir site sayfası silindiğinde veya URL'sini değiştirmeye zorlandığında bir durum ortaya çıkar. Kullanıcı, eski adresine eriştiğinde elbette bir 404 hata sayfası (bulunamadı) görecektir.

    Sayfa önemsizse, o zaman rahatsız etmeye değmez, ancak site ziyaretçileri sık sık erişiyorsa (ve belki birisi tarafından yer imlerine eklenmişse), kontrolünüz altında olmayan harici bağlantılar veya tam tersine kontrolünüz altındaki dahili bağlantılar varsa, buna yol açın, ancak gerçekten düzenlemek istediğiniz ciltlerde, eski sayfadan yenisine 301 yönlendirmesi ayarlamak sizin için ideal çözüm olacaktır.

    Aynı zamanda yinelenen sayfalarla başa çıkmak için de kullanılabilir. Genel olarak "Yönlendirme 301'i kullanmanın 99 yolu" konulu bir kitap yazmanız gerekir. İşte sözdizimi:

    Yönlendirme 301 /old-page.html http://new-domain.ru/new-page.html

    Veya sonuç aynı olacaktır:

    Kalıcı /eski-sayfa.html http://yeni-alanadi.ru/yeni-sayfa.html'yi yönlendir

    Açıklıyorum: /old-page.html - eski sayfanın göreceli adresi. İç içe yerleştirilebilir: /eski-kategori/eski-sayfa.html veya şu şekilde: /eski-kategori/eski-sayfa/ - burada herhangi bir kısıtlama yoktur. Aynısı http://new-domain.ru/new-page.html (yeni sayfa) için de geçerlidir, tek fark buradaki yolun mutlak olmasıdır (yeni bir alan adı olması gerekmez - sadece bir alan adı olabilir) yeni dahili sayfa adresi).

    Bir siteyi yeni bir alan adına taşırken 301 yönlendirmesi ayarlama

    Daha az anlaşılır bir durum yok. Eskisinin (, PR) göstergelerini korurken yeni bir alana geçme ihtiyacı vardı. Bu durumda eski alan adının .htaccess dosyasına aşağıdakini ekleyin:

    Seçenekler +TakipSem Bağlantıları
    Motoru Yeniden Yazma açık

    Yeniden Yazma Motoru kapalı

    RewriteCond %(HTTP_HOST) ^eski-alan\.ru
    Yeniden Yazma Kuralı ^(.*)$ http://yeni-alanadi.ru/$1
    RewriteCond %(HTTP_HOST) ^www.oldsite\.ru
    Yeniden Yazma Kuralı ^(.*)$ http://eski-alan.ru/$1

    Bu örnekte, eski alanın tüm sayfalarının yeni alanın sayfalarına (göreli adreslerinin eşleşmesi şartıyla) yönlendirilmesini ayarladık. Aynı zamanda aktarım işleminin daha eksiksiz olması için robots.txt dosyasını yönlendirme olmadan eski etki alanında bıraktık. İçinde şunu yazıyoruz:

    Kullanıcı aracısı: *
    İzin verme:
    Ana bilgisayar: newsite.ru
    Site haritası: http://newsite.ru/sitemap.xml

    Alan adı taşıma işleminin hesaba katılması ve tüm özelliklerin aktarılması için birkaç ay bekliyoruz.

    Site aynalarını yapıştırma: www'den www'ye ve www'den www'ye 301 yönlendirmesi

    Siteye erişmenin çeşitli seçenekleri vardır - www'li ve www'siz (örneğin, site ve www.site). Kullanıcı URL'yi tam olarak nasıl gireceğini umursamaz çünkü yine de aynı sayfaya ulaşacaktır. Arama motorlarında durum farklıdır. Www.site.ru ve site.ru'yu tamamen farklı iki alan olarak görüyorlar (ki bu, gerçekte olduğu gibi World Wide Web tarihinin derinliklerine kadar uzanıyor).

    Bu kopyalar genel olarak sitenin indekslenmesine ve tanıtımına müdahale eder, çünkü öncelikle bunlar banal kopya sayfalardır (tekrar için özür dilerim) ve ikincisi, gelen bağlantılar da farklı sepetlere sığacaktır. Aynısı ana sayfanın kopyaları için de geçerlidir: site.ru, site.ru/index.html, site.ru/index.php, vb. Bu nedenle site oluşturma aşamasında bile bu konuya dikkat edilmesi ve sitenin versiyonlarından birinin (örneğin www'den) diğerine (örneğin www'siz) yönlendirilmesi tavsiye edilir. Anın kaçırılması durumunda endişelenecek bir şey yoktur.

    Adım adım 301 yönlendirmelerini kullanarak aynaları birleştirme işlemini düşünün.

    1. Arama motorları tarafından indekslenmek üzere seçilen ana alanı belirleyin.

    Ana ayna, Yandex ve . Alan adını girin ve hangi adresin görüntüleneceğini görün: www.site.ru veya site.ru. Site henüz dizine eklenmemişse, kendi takdirinize bağlı olarak seçin. Google ve Yandex'deki ana alan adları farklıysa Yandex'ten ayrılmak daha iyidir.

    2. .htaccess dosyasına 301 yönlendirmesini kaydediyoruz.

    FTP sitesinin kök dizininde .htaccess dosyasını bulup indirip not defterinde açıyoruz ve ardından üzerinde gerekli değişiklikleri yapıyoruz. İlk seçenek, www olmadan www ile 301 alan adı yönlendirmesidir:

    Seçenekler +TakipSem Bağlantıları
    Motoru Yeniden Yazma Açık

    Yeniden Yazma Motoru kapalı

    RewriteCond %(HTTP_HOST) ^site.ru$
    Yeniden Yazma Kuralı (.*) http://www.site.ru/$1

    Tersi durum - www'den www'ye:

    Seçenekler +TakipSem Bağlantıları
    Motoru Yeniden Yazma Açık

    Yeniden Yazma Motoru kapalı

    RewriteCond %(HTTP_HOST) ^www.site.ru$
    Yeniden Yazma Kuralı (.*) http://site.ru/$1

    Düzenleme tamamlandıktan sonra dosyayı kaydedin ve üzerine yazarak FTP kök klasörüne yükleyin.

    İsteğe bağlı olarak, index.php ve index.html görünümlerinin ana sayfasının kopyalarıyla hemen ilgilenebilirsiniz, aşağıdaki kodu aşağıya ekleyin:


    Yeniden Yazma Kuralı ^index\.html$ http://www.site.ru/

    Yeniden Yazma Kuralı ^index\.php$ http://www.site.ru/

    Peki, yine site.ru'nuz varsa:

    RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.html\ HTTP/
    Yeniden Yazma Kuralı ^index\.html$ http://site.ru/
    RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP/
    Yeniden Yazma Kuralı ^index\.php$ http://site.ru/

    3. robots.txt dosyasını kurma

    Robots.txt dosyasına dokunulmayan tanıdık yönergeyi gördünüz mü? Aynen öyle, robots.txt dosyasında bir değişiklik yapıyoruz:

    Ana bilgisayar: main-mirror.ru

    4. Siteyi kontrol etmek.

    Yönlendirmeyi indirdiğimiz adresi giriyoruz, örneğin www.site.ru veya site.ru/index.html ve girdiğinizde site.ru'ya giderseniz, her şey doğru şekilde kurulur.

    5. Yandex ve Google web yöneticisini kurma.

    Ayrıca uygun ayarları kişisel olarak uygulayın. Yandex'de:

    Peki, Google için:

    Her şey bu gibi görünüyor. İyi şanslar ve herhangi bir sorunuz varsa yorumlara yazın.

    Genellikle web geliştirmede, bir sayfadan (örneğin güncel olmayan) diğerine yönlendirme yapmanız gerekir. Aynı zamanda yönlendirme, hem sayfa ağırlığı kaybıyla hem de onsuz farklı yöntemlerle gerçekleştirilebilir. Ama bunun hakkında daha fazlası.

    Bildiğiniz gibi herhangi bir sayfa zamanla indekslenir ve ağda kendi ağırlığına sahiptir. Sayfa alakasız hale gelirse elbette silinebilir, ancak onu takip eden kullanıcılar sitenin var olmayan bir bölümüne gidecek ve sonunda oradan ayrılacaktır. Bu tür sayfalarda sitenin ilgili bölümlerine 301 yönlendirmesi yapmak daha doğrudur. Öncelikle kullanıcı hatayı görmeyecek ve eski sayfanın ağırlığı tamamen yeni sayfaya aktarılacaktır.

    Sayfa yönlendirmeleri farklı şekillerde yapılabilir. Ana olanları ele alalım.

    .htaccess aracılığıyla 301 yönlendirmesi

    Sitenizin kökünde .htaccess adında bir dosya vardır (eğer yoksa oluşturun). Düzenlemek için açın ve aşağıdaki yöntemlerden birini kullanın.

    Kalıcı yönlendirme ve 301 Yönlendirmesi - bir sayfadan diğerine (veya siteye) kolayca 301 yönlendirmesi yapar. Birincisi eski site bağlantısıdır (not - alan adı olmadan), ikincisi yeni bir sayfaya bağlantıdır (bu aynı site, hatta yeni bir sayfa olabilir).

    Örnekler:
    Kalıcı /staraya-stranica.php http://newsait.ru/novaya-stranica.php'yi yönlendir
    (burada sadece eski sayfadan yenisine yönlendiriyoruz)

    Yönlendirme 301 / http://newsait.ru/
    (burada /, sitenin ana sayfasından ve tüm alt sayfalarından (alt dizinlerinden) başlayan her şeyin yeni alana yönlendirileceği anlamına gelir; yani aslında bu alan adından diğerine yönlendirme.)

    RewriteRule yönlendirmesi önceki seçeneklere göre daha karmaşık bir yönlendirmedir. Düzgün çalışması için mod_rewrite modülünün barındırma sistemine bağlanmasını gerektirir (genellikle her zaman etkindir). Genellikle bu yöntem, sayfaları www'den www olmadan aynı sayfaya veya tam tersi şekilde yönlendirmek için kullanılır. Bunları düşünün:

    www'den www olmayana alan adı yönlendirmesi
    Seçenekler +TakipSem Bağlantıları
    Motoru Yeniden Yazma Açık
    RewriteCond %(HTTP_HOST) ^www\.(.*)
    Yeniden Yazma Kuralı ^(.*)$ http://%1/$1

    www olmayan alandan www olan alana yönlendirme
    Motoru Yeniden Yazma Açık
    RewriteCond %(HTTP_HOST) !^www\.(.*)
    Yeniden Yazma Kuralı ^(.*)$ http://www.%1/$1

    Etki alanından etki alanına 301 yönlendirmesi ve /market/vm2_market.xml bağlantısı için bir istisna. Onlar. eski alan adından yeni alana yapılan tüm istekler (/market/vm2_market.xml hariç) yürütülecektir.

    Motoru Yeniden Yazma açık

    301 Eski alan adından yeni alan adına tüm istekler (/market/vm2_market.xml ve /texts bağlantısı (ve tüm "alt bağlantıları") hariç) yerine getirilecek. Ayrıca belirli bir alt bağlantıya yönelik yönlendirme kuralı burada çalışır (RedirectMatch 301)

    Motoru Yeniden Yazma açık
    RedirectMatch 301 ^/texts/data/msg/(.*)\.png$ http://olddomen.ru/texts/data/rimage/msg.php?id=$1
    RewriteCond %(REQUEST_URI) !^/texts*
    RewriteCond %(REQUEST_URI) !^/market/vm2_market.xml$
    Yeniden Yazma Kuralı ^(.*)$ http://newdomen.ru/$1

    RedirectMatch 301, Redirect 301'e benzer ancak daha fazla işlevselliğe sahip başka bir iyi yönlendirme yöntemidir. Yani normal ifadelere dayalı yönlendirmeler yapmak için kullanılabilir.

    Örnekler:
    RedirectMatch 301 ^/eskidizin/ http://web sitesi/yenidizin/
    (Burada dizinin tamamını yenisine yönlendirir)

    RedirectMatch 301 ^(.*)$ http://web sitesi
    (Tüm sayfaları eski alan adından yeni alana 301 yönlendirmesi ile yönlendirir (ağırlık da yeni siteye aktarılır))

    RedirectMatch 301 (.*)\..php
    (Sayfaları html uzantısından php uzantısına değiştirin)

    RedirectMatch 301 /dirA/(.*)\..php
    (Yalnızca PHP betiklerine erişirken dirA'dan dirB'ye yönlendirmeyi tetikler.
    .php -> http://site/dirB/page.php - çalışacak
    http://site/dirB/page.html - çalışmaz)

    Düzenli ifadeler için sözdizimi
    . - Nokta rastgele bir karakterin yerine geçer.
    - a, b veya c harfleriyle eşleşen karakterlerin listesini belirtir.
    [^abc] - belirtilen aralığa dahil olmayan karakterlerin listesi. a, b veya c dışındaki herhangi bir karakterle eşleşir.
    * - önceki karakterin tekrarlanabileceği anlamına gelir (0 veya daha fazla).
    * - komut belirtilen kümeden ardışık karakterleri bulacaktır.
    [^abc]* - tam tersi.

    .* - kesinlikle herhangi bir karakter setinin yerine geçer. ".*" - tırnak işaretleri arasındaki tüm alt dizeleri bulur.
    ^ - bir dizenin başlangıcı (bir ifadenin başında kullanılıyorsa).
    $ - satırın sonunu işaretler.

    \w - harf, sayı veya alt çizgi _.
    \d - herhangi bir rakamın yerini alır.
    \D - herhangi bir karakterin yerini alır, ancak sayının yerini almaz.
    - herhangi bir sayının yerini alır.
    - a'dan z'ye herhangi bir harf (Latin karakter kümesinin tamamı) küçük harf.
    - BÜYÜK harflerle A'dan Z'ye herhangi bir harf.
    - her durumda a'dan Z'ye herhangi bir harf.
    - aynısı.

    Kurallarda kullanılan özel karakterler ve anlamları.
    ^ - satırın başlangıcının özel karakteri;
    $ - satır sonu özel karakteri;
    ! - olumsuzluk özel karakteri;
    . - nokta, herhangi bir karakterin yerine geçer, ancak yalnızca bir karakter;
    () - gruplandırma;
    \ - "kaçan" eğik çizgi, ondan sonraki karakter özel bir karakter değil, normal bir karakter olarak kabul edilir.

    Değiştiriciler sıradan, özel karakterlerden veya bunların gruplarından sonra kullanılır ve kuralları tetiklemek için şablonların olanaklarını genişletmenize olanak tanır.
    ? - karakter 0 veya 1 kez tekrarlanır.
    + - 1'den 65536'ya kadar tekrarlanır.
    * - 0 ila 65536 kez tekrarlanır.

    Bayraklar, ek olarak ayarlayın. kuralın kullanılacağı seçenekler. Bunlar, örneğin veya gibi virgüllerle ayrılmış köşeli parantez içinde listelenir.
    NC - Kural tetiklendiğinde karakterlerin büyük/küçük harf durumunun kontrol edilmesini devre dışı bırakan NoCase bayrağı.
    R - flag Redirect, URL değişikliğini durdurma işlemini gerçekleştirir ve sonucu döndürür. En sık kullanılan değer R=301'dir, ancak geçici yönlendirmeler için başka değerler de mümkündür (302, TAŞINMIŞ GEÇİCİ).
    L - flag Last, URL'nin oluşumunu durdurur ve satır son olarak kabul edilir.

    Php ile yönlendir. Yeni bir adrese yönlendirilmesi gereken normal bir php sayfanız varsa, .htaccess olmadan da yapabilirsiniz.

    Örnek:

    Javascript ile yönlendirin. Ayrıca normal javascript kullanarak da yönlendirme yapabilirsiniz (ancak sayfa ağırlığını geçmeden).

    Örnek:
    window.location = "http://site/kategori/";
    (site sayfasına düzenli yönlendirme)
    warning("Şimdi yönlendirileceksiniz!"); window.location = "http://site/kategori/";
    (kullanıcıya bir mesaj gösterilen sitenin sayfasına normal yönlendirme)

    301 hata kodu (Kalıcı Olarak Taşındı), bu sayfanın veya sitenin tamamının kalıcı olarak yeni bir kalıcı URL'ye taşındığı anlamına gelir. Referans ağırlığını geçmek için kullanılır. Bu yönlendirmeyi ayarlarken sunucunun hangi hata kodunu verdiğini kontrol ettiğinizden emin olun. Örneğin Firefox için harika Firebug eklentisini kullanıyorum.

    Linux Apache web sunucunuz varsa 301 yönlendirmelerinin ayarlanması .htaccess dosyasında gerçekleşir. Windows IIS web sunucusu durumunda bu, web.config dosyası olacaktır.

    WordPress, bitrix, drupal, dle, modx, joomla, opencart ve diğerleri gibi çeşitli CMS'lerde 301 yönlendirmesi, özel eklentiler kullanılarak ve ayrıca htaccess veya web config aracılığıyla olağan şekilde yapılandırılır.

    Temel Düzenli İfade Operatörleri

    .htaccess dosyasında doğru 301 yönlendirmelerini ayarlamadan önce, ana düzenli ifade işleçlerini (özel karakterler, değiştiriciler, işaretler) açıkça ayırt etmeniz gerekir:

    özel karakterler:

    • ^ - soldaki kısıtlama (satırın başlangıcı);
    • $ - sağdaki kısıtlama (satır sonu);
    • . - herhangi bir karakter;
    • () bir değişkendir;
    • \ - kaçış (\'den sonraki karakter özel bir karakter değil normal kabul edilir);
    • - değer aralığı;
    • ! - olumsuzluk özel karakteri;

    değiştiriciler:

    • ? - karakter 0 veya 1 kez tekrarlanır;
    • + - 1 veya daha fazla karakter (65536'ya kadar);
    • * - 0 veya daha fazla karakter (65536'ya kadar);
    Htaccess ve web.config dosyalarında 301 yönlendirmelerini ayarlama

    Burada yalnızca 301 yönlendirmelerinin test edilmiş ve teknik olarak tamamlanmış çalışma sürümlerini yayınlıyorum. 301 yönlendirmelerinin çalışma varyantlarının veritabanı yenilenecek.
    Eski statik (cnc) sayfadan yeni sayfaya yönlendir:

    RewriteCond %(HTTP_HOST) Üzerinde RewriteEngine ^www\.seowind\.ru$ RewriteRule ^baza-znanij-seo/nastrojka-301-redirekta/$ https://www.site/newpage/

    Ana sayfaya yönlendir:

    RewriteCond %(HTTP_HOST) Üzerinde RewriteEngine ^www\.seowind\.ru$ RewriteRule ^baza-znanij-seo/nastrojka-301-redirekta/$ https://www.site/

    Ana sayfadan dahili sayfaya yönlendir:

    RewriteCond %(HTTP_HOST) Üzerinde RewriteEngine ^www\.seowind\.ru$ RewriteRule ^$ https://www.site/baza-znanij-seo/nastrojka-301-redirekta/

    WWW'li site sayfalarından WWW'siz sayfalara yönlendirme:

    RewriteCond %(HTTP_HOST) Üzerinde RewriteEngine ^www\.seowind\.ru$ RewriteCond %(REQUEST_URI) !^/robots.* RewriteRule ^(.*)$ http://site/$1

    WWW'si olmayan site sayfalarından WWW'si olan sayfalara yönlendirme:

    RewriteEngine On RewriteCond %(HTTP_HOST) ^seowind\.ru$ RewriteCond %(REQUEST_URI) !^/robots.* RewriteRule ^(.*)$ https://www.site/$1

    Aşağıdaki örnek, URL'nin sonundaki eğik çizgiyi kaldırmanıza olanak tanır.

    Sonunda eğik çizgi olan sayfalardan eğik çizgi olmayan sayfalara 301 yönlendirmesi:

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

    Ve burada URL'nin sonuna bir eğik çizgi ekliyoruz:

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

    index.php'den ana sayfaya 301 yönlendirmesi:

    RewriteCond'da RewriteEngine %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP/ RewriteRule ^index\.php$ https://www.website/

    Tüm dahili sayfaları ana sayfaya yönlendirin:

    RewriteCond'da RewriteEngine %(ENV:REDIRECT_STATUS) ^$ RewriteRule !(^$|.*\.(css|jpg|gif)) /

    Sitenin herhangi bir dahili sayfasına bir parametreyle URL yönlendirmesi: (Örneğin, http://www.site.ru/news.php?category=1 sayfasından http://www.site.ru/news'e. php?category=2 (burada kategori= parametresi)):

    RewriteEngine On RewriteCond %(QUERY_STRING)category=1 RewriteRule ^news.php http://www.site.ru/news.php?category=2

    Bir parametreyle sitenin ana sayfasına URL yönlendirmesi: (Örneğin, http://site.ru/index.php?show_section=12 ana sayfasına http://site.ru/ (burada parametre show_section'dır) =12))):

    RewriteCond'da RewriteEngine %(QUERY_STRING) show_section=12 RewriteRule ^index.php http://site.ru/?

    Eski alan adından yeni alana yönlendirme yapın (eski sitenin htaccess'ine yazıyoruz):

    RewriteCond %(HTTP_HOST) üzerinde RewriteEngine ^www\.siteold\.ru$ RewriteRule ^(.*)$ http://sitenew.ru/$1 RewriteCond %(HTTP_HOST) ^siteold\.ru$ RewriteRule ^(.*)$ http://sitenew.ru/$1

    RF etki alanından RU etki alanına yönlendirme. Burada RF bölgesinin .xn--p1ai'ye dönüştürüldüğünü ve Kiril alan adının kendisinin Latin xn-…'deki karşılık gelen koda (zayıf kod) dönüştürüldüğünü bilmek önemlidir.

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

    301 dizin yönlendirmesi:

    RewriteRule ^(.*)/old-catalog/(.*)$ $1/new-catalog/$2

    Muhtemelen uygulamalarınızda aynı bilgilere sahip ancak aynı zamanda farklı adreslerde (yinelenen siteler) mevcut olan 2 sitenin olduğu bir durumla karşılaşmışsınızdır. Bu siteler aynı robots.txt, sitemap.xml ve iki.htaccess için bir taneye sahiptir. Böyle ana olmayan bir siteden (site2) ana siteye (site1) 301 yönlendirmesinin bir çeşidini öneriyorum:

    RewriteCond %(HTTP_HOST) ^site2.ru$ RewriteCond %(HTTP_HOST) ^www.site2.ru$ RewriteCond %(REQUEST_URI) !^/robots.* RewriteRule ^(.*)$ http://www.site1. ru/1$

    htm|html|php|asp|aspx uzantılı index|default sayfalarından ana sayfaya yapılan tüm yönlendirmeleri içeren bir eklenti:

    RewriteCond'da RewriteEngine %(THE_REQUEST) ^GET\ .*/(index|default)\.(htm|html|php|asp|aspx)\ HTTP RewriteRule ^(.*)(index|default)\.(htm|html |php|asp|aspx)$ http://www.site.ru/$1

    IIS için web.config'te WWW'si olmayan sayfalardan WWW'si olan sayfalara yönlendirme örneği:

    IIS için default.aspx sayfasından web.config dosyasındaki ana sayfaya yönlendirme örneği: