Yönlendirme ile HTML sayfa kodu. JavaScript kullanarak URL'leri yönlendirin. RedirectMatch yönergesini kullanarak yönlendir

Yeniden yönlendirmek (İngilizceden. yönlendir. - Reoriented) - Bu, Site sayfasının başka bir sayfada veya başka bir sitenin iletilmesidir. Yönlendirme yapılabilir farklı yollar, ana ki burada düşünülecek., yani pHP üzerine yönlendirin., javascript., yardım ile yönlendir html ve dosyayı kullanma htacess..

Listelenen yöntemler arasında, en alakalı, PHP yönlendirir ve .htaccess yardımıyla yönlendirir.. Gerçek şu ki, bu yöntemlerin sadece sayfayı iletmemesine, aynı zamanda özel geri dönmesiyle de izin vermesidir. 301 hata (301 İmza Yönlendirme). Ne için gereklidir? Ve için gerekli arama motorları.

Sanırım bir promosyon sitesi vardı Çok sayıda Ziyaretçi. Site daha sonra yeni bir etki alanına taşındı. Arama motoru henüz onu tanımıyor. 301 Yönlendirme, bu site için yapılan tüm bu optimizasyon unsurlarını korurken, bu site için yapılan tüm optimizasyon unsurlarını, böylece katılım ve sitenin izleyicisini tutmanıza izin verir.

Ve şimdi, yeniden yönlendirmeler için listelenen tüm seçenekleri göz önünde bulundurun ve PHP'ye yönlendirerek başlayın.

PHP yönlendirme (301)

PHP üzerine yönlendirin, diğer programlama dillerinde olduğu gibi, Gerekli Başlıkları Gönderen HTTP Protokolü spesifikasyonuna dayanır. Nasıl çalışır? Oldukça basit. Bazı internet sayfalarına her itirazda bulunduğumuzda, başlıkları (başlık) ve gövde (vücut) içeren sunucudan HTTP yanıtını alırız. Televizyon tepkisinde

Başlık ("http / 1.1 301 kalıcı olarak taşındı");
Başlık ("Konum: http://site.com/pagename.html");
?>

HTML yönlendirme

HTML İşaretleme dilinde yeniden yönlendirmek için tasarlanmış özel bir meta etiketi vardır.

Yalnızca içerik alanı, yönlendirmeden önce saniyenin sayısı ve bağlantının kendisi, yönlendirmenin yapıldığı durumlarda değişir. Bence etiketin HTML koduna baş etiketleri arasında yerleştirildiğini söylemesi gerektiğini düşünüyorum.

Javascript'i yönlendir.

Belki de en güvenilmez yönlendirme, kullanıcının tarayıcıdaki JavaScript'i her zaman devre dışı bırakabileceği için. Ancak, nadirdir, bu nedenle yöntem var olma hakkına sahiptir.

Bu kod, istediğiniz sayfaya bir yönlendirme işlevi oluşturur ve ardından ihtiyaç duyduğunuz zamanı iletmenizi sağlayan Settimeout işlevinde çağrılır.

Htaccess yönlendirme (301)

File.htaccess farklı olan bir servis dosyasıdır ek ayarlar Apache sunucuları. Bizim durumumuzda, sitenin kökünde manuel olarak bulunur. Bununla birlikte, 301 yönlendirmeyi ayarlayabilirsiniz, ancak bunun için gerekli modüller Apache'ye dahil edilmelidir.

Mod_alias modül direktiflerini kullanma

Bu modülde üç direktif vardır: yönlendirme, reddirectpermanent ve redirectmatch. İlk ikisi, özelliklerinde aynı görünüyor, üçüncüsü bir konak. İlk iki örnek için:

REDIRECT 301 / http://site.com
REDIRECT Kalıcı /index.html http://site.com
Redirectpermanent /index.html http://site.com/default.html

STRTS benzer. Ancak bir eksi gibi görünüyor - tüm sayfaları yönlendirmek için, onları belirtmeniz ve listede belirtmeniz gerekir. Bir şekilde görevi kolaylaştırmak için, diğer yönergeler var:

Redirectmatch /(.*)..htmlf / $ 1.Php.

Eski Urla'dan yenisine yeniden yönlendirmek için düzenli ifadeleri ayarlayabilirsiniz.

Mod_Rewrite modül direktiflerini kullanın

Böylece arama motorlarında aynı sayfaların iki katı olmaması, bazen tüm adresleri www ile birlikte www olmadan etki alanından göndermeniz gerekir. Örneğin,

# Modülü ve Gerekli Ekstra'yı açın.
Rewriteengine üzerinde.
Seçenekler + FollowSymlinks.
# İki satır "env ile" zarfsız "
Rewritecond% (http_host) ^ site.com
Rewriterule (. *) Http://www.site.com/$1

Hapis cezası yerine

Sorudan hala işkence görürseniz, seçiminizi neler durdurmalı (elbette işkenceler, yardımcısı ve makas - yaklaşık.), o zaman acı çekmeyi bırakmanın zamanı geldi (ne diyorsun? yaklaşık.). PHP yönlendirme (veya burada, örneğin Perl) düşünülmeyen diğer programlama dilinde bakmayı durduruyoruz ve dosya.htaccess kullanılarak yeniden yönlendirir, çünkü siteyi arama motorlarında optimize etmek için herhangi bir kayıp olmadan aktarmanıza izin verir. Önemli değilse, herhangi bir yöntem gerçek olacaktır. Ve aslında bu son notta (tuz? La? Si? - yaklaşık.) Bu yazıyı bitirdim.

Bazı durumlarda, 301 yönlendirme kullanmak çok önemlidir. Ancak, her bireye nasıl uygulanacağını bilmek önemlidir. Bu nedenle, ayarıyla ilgili tüm temel sorulara bir cevap seçimi vardır.

301 yönlendirildi ve neden gerekli?

301 yönlendirme, web yöneticilerinin kullanıcıları başlangıçta olan bir URL'den iletmelerine yardımcı olmak için tasarlanmıştır. adres satırı Tarayıcı, tamamen farklı. Arama motoru optimizasyonu açısından, 301 kalıcı olarak hareket ettirilen, yeni bir URL'ye% 99 referans ağırlığına kadar ve eski "Mark" e kadar çalışmaya yardımcı olan kalıcı bir yönlendirmedir. Yani, bu sayede, arama motorlarında pozisyonlardan tasarruf etmek mümkün olacak ve eğer URL adresini değiştirirseniz, yönlendirmeyi yapmadıysanız, sonra yandex ve google olmadan, o olmadan sıralanacak yeni bir sayfa olacaktır. önceki tarihe sahip bir paket.

Bu yönlendirmeyi kullanmanız gerektiğinde birkaç seçenek vardır:

  • yapıştırma alanları yaparken;
  • siteyi yeni bir adrese taşımak için, örneğin, kaynakınızın arama motoru filtrelerinden kaynaklanan trafikte bir azalma durumunda. 301 Yönlendirme, sitenizi yer imlerine ekleyenlere izin vermez, görüş alanı dışında;
  • ana sitedeki TIC, PR, trafik göstergelerini artırmak. Bu durumda, iyi göstergeleri olan bir etki alanı satın almanız ve bu parametreleri iyileştirmesi gereken kaynağa yönlendirmeyi yapılandırmanız gerekir;
  • pS'de yüksek pozisyonları korumak için belirli bir sayfanın adresini değiştirirken (örneğin, siteyi bir CMS'den diğerine taşırken ilgili olabilir);
  • ve benzeri.

301 yönlendirme nasıl yapılır?

301 yönlendirme kurma sorunu çözmek için çeşitli seçenekler vardır. Ne kullanacak - barındırmanın teknik özelliklerine bağlıdır. Ancak modern hosters bu tür problemler genellikle oluşmaz ve görünürse, bu külten aracılığıyla hızlı bir şekilde çözülür. İşte karşılaşabileceğiniz basit bir yönlendirmenin birkaç temel durumu. Bunu yapmak için, adına bir dosya oluşturmanız gerekir (değilse) ve sonra gerekli yönlendirme kodunu ekleyin. Sadece masaüstünde yaratırsanız, çalışmaz, o zaman programı yapmayı deneyin. Toplam Amir.Veya FileZilla, gereksiz bir belgeyi basitleştirir.

Bu nedenle, kullanıcıları başka bir siteye yönlendirmeniz gerekir. Bunun gibi görünecek:

REGECT 301 / http://site.ru

Ve sayfadan site sayfasına yönlendirmeyi organize etmeniz gerekirse, bu koda ihtiyacınız olacaktır:

REDIRECT 301 / DRICKENTING.HTML http: //new-domen.com/news --straist.html

REDIRECTPERMERANENT / Eski sayfa. Html http: //new-domen.com/news-straist.html

Nasıl bir seçenek olmadan www ile bir etki alanı yapıştırılır?

Şu anda, www kullanımı siteler başlığında eski kabul edilir. Ancak, bu seçenek genellikle bulunur. Bu, hazır bir sitenin satın almasıysa, daha sonra yeni bir kaynak oluştururken, www olmadan her yere belirtmek daha iyidir. Etki alanlarını yapıştırırken, tüm en önemli parametreleri, TIC, PR ve ziyaret gibi birleştirilir. Ek olarak, bu kaynağı optimize etmeye yardımcı olacak ve PS'nin WWW'den "Stolen" içeriğiyle "STOLEN" için yansıtıldığında durumdan kaçınacaktır.

WWW'yi www olmadan www kullanarak bir etki alanını kullanarak yapıştırmak için kod şuna benziyor:

Rewriteengine rewritegond% (http_host) ^ www.site.ru $ rewriterule ^ (. *) $ Http://site.ru/$1

Ayrıca, RewRiteEngine ON / OFF'in değeri, dosya koduna erişmeye veya erişmeyi durdurmaya yarar olan uzmanlaşmış bir yönergedir. Ve erişim mod_rewrite modülündendir. Rewritecond - Direktifi, dönüştürme kurallarına göre koşullar oluşturur. Ve yeniden yazar - belirli bir durumda üretilen dönüşümlerden sorumlu bir emir - yeniden yönlendirin.

301 HTTPS'ye taşınırken yönlendir

Modern trend - Sitelerin korumalı HTTPS protokolüne devredilmesi. Bu durumda, HTTPS'deki HTTP sayfalarından yönlendirmeyi ayarlama, anahtar bir adımdır. Bu, .htaccess dosyasında aşağıdaki gibi yapılır.

RewriteCond% (server_port)! ^ 443 $ yeniden yazma ^ (. *) $ Https://site.ru/$1

Notlar ve Hatalar

İle karşılaşabileceğiniz ve 301 yönlendirme ayarlarken hangi öğelerin unutulmaması gerektiği:

  • yönlendirme kurallarının dizisinin sıkı muhasebesi, hatırlanması gereken ilk şeydir. Bu nedenle, belirli bir kuralın yerine getirilmesi durumunda, kendisine aykırı başka hiçbir yönlendirme olup olmadığını kontrol etmek gerekir;
  • 301 Yönlendirme birçok özelliği ve zor sözdizimi var, tüm bunların kafasına keskin tutması zor - bu yüzden size yardımcı olacak resmi kılavuzlar. Bunların yanı sıra, birkaç seçeneğin mantığı ve tutarlı bir araması yardımcı olabilir;
  • sitenin performansını kontrol etme ve uygulanan tüm Redireche kuralları, güvenli tam ayar için bir önkoşuldur. Kaynağın bölümlerine ve sayfasına gitmek için tembel olmayın. ana SayfaGelecekte herhangi bir sorunu dışlamak için. Talimatların sözdiziminde hatalar varsayarken, çalışmayı ve tüm siteyi durdurabilir.

Ayrıca 301 yönlendirme kullanımının hatalı olacağı çeşitli durumlar da vardır. Bu nedenle, girişi çok uzun sürerse, birden fazla yönlendirmeyi kullanmamak daha iyidir. Veya örneğin, çoğaltılmış içeriğin varlığında ve bir dizi nedenden dolayı, her iki sayfayı da kullanıcılar için kaydetmeniz gerekir. Sayfa ve içeriği alakalı değilse, yönlendirme de reddedilmelidir. Bir hata yeniden yönlendirmeyi yanlış çalışan bir sayfaya yapılandırır (sayfa 200 veya 404 sunucu yanıtı ile birlikte olmalıdır). Son olarak, Robots.txt dosyası yanlış olacaktır.

Diğer yönlendirme türleri

Tecrübeli web yöneticileri, en popüler 301 yönlendirmesine ek olarak, bazılarını kullanır: 300'ten 307'ye kadar. Örneğin, 302 ve 307, geçici yönlendirme, 305 - yalnızca proxy, vb. Erişim dedir. Ayrıca, oldukça popüler bir yönlendirme türü Meta Yenileme olarak adlandırılabilir. Sunucu düzeyinde, ancak sayfa düzeyinde yapılmaz. Ancak, böyle bir yönlendirme uzmanları mümkün olduğunca uygulama önerir. Bu, sıklıkla örtüşenler ve spam gönderenlere başvurdukları gerçeğiyle haklı. Ek olarak, bu yönlendirmenin kullanımı neredeyse referans ağırlığını aktarmayı mümkün kılmaz.

Basit kelimeler olarak yönlendirilen nedir

Yeniden yönlendirmek (İngilizce. "Yönlendirme"), kullanıcıların sitenin bir sayfasından başka bir sayfaya yönlendirilmesidir (hem bir sitede hem de harici sitelerde). Arama motorları için, sayfa adreslerini yapıştırmak için yönlendirme kullanılır.

Her yönlendirme, işlevinden sorumlu olan kendi numarasına sahiptir. Aşağıdaki yönlendirme türleri vardır:

  • 300 yönlendirme - çoktan seçmeli;
  • - sonsuza dek taşındı;
  • 302 Yönlendirme - Belge bulundu;
  • 303 Yönlendirme - Başka bir görün;
  • 304 Yönlendirme - Belge değişmedi;
  • 305 Yönlendirme - Proxy kullanın;
  • 306 yönlendirme - kullanılmaz;
  • 307 Yönlendirme - Geçici yönlendirme;

Bu yönlendirmeler arasında kullanım lideridir. Site sayfası adresinin sonsuza dek değiştiğinde kullanılır. Uygulama şovları olarak - bu en yaygın durumdur. Tüm örneklerde, sadece o olacak.

Yönlendirme yapmanın birkaç yolu vardır. Herkesin kendi artıları ve eksileri vardır. Aşağıda, her birine örneklerle ayrı ayrı bakacağız.

1. JavaScript ile yönlendirin

JavaScript, yönlendirmenin uygulanması için çok çeşitli fonksiyonlara sahiptir. Örnekte aşağıda, çeşitli yönlendirmeler çeşitli JavaScript işlevleri kullanılarak sunulur.

В любом из выше перечисленных вариантов будет автоматический переход на сайт http://ya.ru/

Минусом JavaScript является то, что страница сайта с которого осуществляется редирект обязательно должна существовать это раз. А во-вторых такая конструкция не слишком быстрая, поскольку сначала осуществляется загрузка страницы с которой будет идти редирект - а это лишняя потеря драгоценного времени.

2. Редирект через.htaccess

Напомню, что .htaccess - это специальный файл, который лежит в корневой папке вашего сайта. В нем прописываются все необходимые редиректы. Таким образом уже на уровне веб-сервера происходит переход на нужную страницу без загрузки промежуточных.

В общем виде редирект через файл.htaccess выглядит так:

Redirect [КОД_РЕДИРЕКТА] /АДРЕС_ОТКУДА АДРЕС_КУДА
  • КОД_РЕДИРЕКТА - здесь указывается номер редиректа (можно не указывать, по умолчанию стоит 301);
  • /АДРЕС_ОТКУДА - страница, с которой будет осуществлен переход. Обязательно должна начинаться со слэша "/";
  • АДРЕС_КУДА - указываем полный адрес (URL) куда будет осуществлена переадресация;

Примеры редиректа через.htaccess

1) Редирект с www и без www

301 редирект с сайта без www на страницу сайта с www.

RewriteEngine On RewriteCond %{HTTP_HOST} ^site.ru RewriteRule (.*) http://www.site.ru/$1

В данном случае будет автоматически переход с любой страница site.ru на www.site.ru соотвественно. Например

site.ru/razdel/123.html -> www.site.ru/razdel/123.html site.ru/razdel -> www.site.ru/razdel

Для обратного редиректа с www на без www (www.site.ru -> site.ru) необходимо прописать следующий код:

RewriteEngine On RewriteCond %{HTTP_HOST} ^www.site.ru RewriteRule (.*) http://site.ru/$1

2) Переадресация пользователя на другой домен

Redirect Permanent / http://site.ru

Все пользователи будут автоматически перенаправляться на домен http://site.ru/

3) Переадресация пользователя со страницы на другой адрес

Redirect 301 /start.html http://site.ru/hi.html

Со страницы /start.html будет выполнен автоматический переход на http://site.ru/hi.html

4) Редирект при смене домена сайта (URL)

Иногда нужно сделать полную переадресацию с одного сайта на другой (например, сменился домен сайт). В этом случае необходимо написать следующие четыре строчки:

RewriteCond %{HTTP_HOST} ^olddomen\.ru RewriteRule ^(.*)$ http://newdomen.ru/$1 RewriteCond %{HTTP_HOST} ^www\.olddomen\.ru RewriteRule ^(.*)$ http://newdomen.ru/$1

5) Редирект с http://site/yyyy/mm/dd/post/ на http://site/post/

Такой редирект будет полезен для владельцев блогов на WordPress. Указание года, месяца и числа публикации новости вовсе необязательно и создает лишнюю иерархию, которая мешает продвижению блога. Поэтому нужно использовать следующий код:

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RedirectMatch 301 /{4}/{2}/{2}/(.+)/$ /$1/

Например, с адреса http://site/2014/11/24/primerposta/ будет 301 редирект на http://site/primerposta/ .

3. Редирект html через мета тег

Редирект html делается через мета тег с помощью атрибут refresh :

...

В данном случае будет выполнен редирект (автоматический переход) на http://site.ru/ через 1 секунду. В content первым параметром является секунды, а вторым URL. Если секунды не указаны, то это означает 0 (мгновенный переход).

4. Редирект php

В PHP есть специальная функция header отвечающая за различные варианты переадресации.

Примеры

header("Location: http://site.ru/", true, 301);// переадресация //с помощью 301 редиректа на site.ru; header("Location: http://site2.ru/");// переадресация с помощью 301 //редиректа на site2.ru; header("Refresh: 5; url=http://site.ru/");// переадресовать с //задержкой на 5 секунд

Какой способ редиректа выбрать?
На мой взгляд самым лучшим является , поскольку все описывается в одном файле и происходит уже не уровне обработки веб-сервера, то есть не требуется загрузки страницы. Это в свою очередь может довольно сильно ускорить процесс загрузки. Во всех других случаях необходимо наличие лишней страницы и небольшой временной задержки из-за того, что страница должна загрузиться хотя бы частично.

Проверить правильность настройки редиректа можно через сервис

Инструкция

Есть возможность отправлять на другой сайт только тех посетителей, которые запрашивают определенного типа. Для этого нужно воспользоваться другой директивой - RedirectMatch. Она отличается от директивы Redirect тем, что использует для сравнения запроса и записанного в htaccess условия регулярное выражение (regexp). Например:RedirectMatch (.*).html$

Чтобы реализовать этот метод перенаправления на практике, откройте простой текстовый редактор (Блокнот) и создайте в нем пустой документ. Составьте нужное условие на основе приведенных правил и запишите его в этот документ. Затем сохраните с именем ".htaccess" и загрузите в корневую директорию своего сайта . На этом процедура будет закончена.

Источники:

  • Redirect 301: Как сделать редирект с одной страницы на другую
  • Редирект 301 с со страницы на страницу не затрагивая другие

Организовать постоянно действующий автоматический переход всех посетителей одной конкретной страницы на другой сайт можно либо средствами сервера и серверных языков программирования, либо с помощью HTML и JavaScript. Плюсы второго варианта в простоте и доступности - для его реализации не требуется знаний программирования, из обязательных требований нужен только доступ к редактированию исходного кода страницы.

Инструкция

Можно решить задачу автоматического перенаправления посетителей на другой сайт только средствами HTML (HyperText Markup language - «язык разметки гипертекста»). В нем есть (метатег), которая сообщает браузеру, что после загрузки текущей страницы следует начать загрузку другой. Этот метатег информацию (атрибуты тега) об адресе перенаправления и времени, через которое следует отправлять на страницу сайт а. Выглядеть он может, например, так:Здесь Refresh - это и есть кодовое слово, которое запускает механизм перенаправления. Цифра 5 указывает, что процесс надо начинать через после загрузки этой страницы. Это время может быть нужно, чтобы посетитель, например, успел сообщение, которое вы поместите в эту страницу. Если такая пауза не нужна - поставьте ноль. А URL=http://www.сайт содержит адрес, на который браузер должен отправить посетителя. Помещать этот метатег следует в заголовочную часть исходного кода страницы - между и .

Другой способ реализуется с помощью языка программирования JavaScript. Вам потребуется всего одна строка кода, чтобы веб-серфера на нужный адрес. Она может выглядеть, например, так:window.location.reload("http://www..location.replace("http://www..location.href="/";Здесь вам нужно только заменить адрес тем, который вам. Эту команду следует поместить внутрь тегов, которые сообщают браузеру, что она написана на языке JavaScript:Ve bu üç satır, sırayla, aynı başlık alanının içinde (arası ve).

Bu seçeneklerden birini seçtikten sonra, örneğin kontrol sistemi sayfası düzenleyicisinde ihtiyacınız olan sayfayı açın İnternet sitesiohm. Bir HTML kodu düzenleme moduna geçin ve içinde bir etiket bul. Hazırlanan Redireche kodunu (JavaScript veya HTML) kopyalayın ve bu etiketten önce ekleyin. Ardından değiştirilen sayfayı kaydedin.

.Htaccess yapılandırması, Apache'daki Web sunucuları için bir yapılandırmadır. Barındırma çoğu bu sunucuda çalışır, bu nedenle bu dosya her sitede bulunur. Web yöneticileri, çalışmalarını kısmen yönetebilir. Bu yazıda, sunucuda değiştirilebilecek direktifleri ve kuralları göz önünde bulunduracağız.

En önemli .htaccess dosyası sitenin kökünde bulunur:

Eylemleri geçerli dizine ve ekli tüm dizinler için geçerlidir. Şunlar. Sitelerin sahipleri, tüm sunucunun çalışmasına müdahale etmeden, projenizin çalışmalarını etkileme fırsatına sahiptir. Bu dosya eksikse, herhangi bir not defteri kullanılarak oluşturulabilir. Asıl şey, dosya adının ".htaccess" idi - formats.txt, .doc, vb.

.Htaccess dosyası aracılığıyla çoğu zaman Sunucu düzeyinde 301 yönlendirme kurulur, bu da geçiş sürecini kuvvetlice hızlandırır. yeni sayfaÇünkü Bir ara sayfayı yüklemeye gerek yok. Ayrıca burada hangi dosya işlemlerinin 404 hatasını öngörür.

Hemen altına, .htaccess ile ve seçenekleri ve kuralları ile başlamak için tüm ortak yönlendirme varyantlarına bakacağız.

Yönlendirme ile çalışabilmek için, RewriteEngine modülünü açmanız gerekir. Bunu yapmak için, kodun iki satırını kaydetmemiz gerekir (tercihen .htaccess dosyasının en üstünde):

Seçenekler + FollowEngine Seçenekleri + FollowEngine

Mod_write modül direktifleriyle çalışabilmek için bu satırları .htaccess dosyasının en üstüne yerleştirin.

Ayrıca, MOD_ALIAS modülleri de barındırma üzerinde etkinleştirilmelidir (RedirectMatch ve Redirectmatch'ı desteklemek için).

1. Yönlendirme, yeniden yazarı ve yeniden yazma kuralları

1.1. Yönlendirme yönlendirmesi.

Yeniden yönlendirme sözdizimi:

Yönlendirme / dan http: // where_promy_adres

Yönlendirme, bir sayfadan diğerine düz bir yönlendirme ayarlar.

Durum Yazma Yönlendirme kodu. İsteğe bağlı bir parametredir. En sıklıkla, sayfa adresinin sürekli değişimini işaret eden 301 yazın.

Sitenin tam adresini belirlemeden, ancak "/" (yani sitenin kökünden) başlayan URL'nin tamamı nispi adresini belirten bir formatta "from" sayfasının biçiminde yazıldığından önemlidir. Yönlendireceğin tamamen yazması gereken sayfa, yani. URL sayfasının mutlak adresi (yani etki alanının adı ve HTTP veya HTTPS protokolü ile).

Örneğin

301 /oldpage.php http: //site/newpage.php yönlendirmek

Ayrıca farklı yazabilirsiniz

Redirectpermanent 301 / coldpage.php http: //site/newpage.php veya redirect kalıcı 301 /oldpage.php http: //site/newpage.php

1.2. Yönetmeliği yeniden yazarı.

Rewriterle Direktifi geçiş kurallarını belirler. Sözdizimi aşağıdaki gibidir:

Yenidenwriterle değiştirme deseni [Kodlar]
  • Harici bir yönlendirme ile, tarayıcı dizesindeki adresin ulusları - ""
  • İç ile - tarayıcı satırındaki Ulla adreslerini değiştirmez - "" veya "[L]"

1.3. Direktif rewritecond.

Rewritecond direktifi, yeniden yazardaki kuralların yürütüldüğü koşulları belirler.

Rewritecond. Karşılaştırılabilir_stock Durum

Örneğin, bu koşullar bir kullanıcı tarayıcısı, IP adresi, başlık vb. Olabilir.

1.4. Yönerge yönlendirici

RedirectMatch Direktifi, normal ifadeleri kaydetmenize olanak tanıyan tek farkla yönlendirmek için benzerdir.

RedirectMatch nerede nereye

2. Örnekler 301 yönlendirmeler v.htaccess

Makalelerde .htaccess yönlendirme ile çeşitli örnekler saydık:

  • Site Adresinin Seçimi - Eski Etki Alanından Yeni'ye yönlendirin

Burada henüz olmadığı yönlendirmeler için seçenekler ekleyeceğiz.

2.1. Bir sayfadan diğerine yönlendir

Site.ru/cat/oldpage sitesine yönlendirmek .Ru/newpage.html

Rewriterle ^ Cat / oldpage. * /Newpage.html

Veya ikinci seçenek:

301 / Kedi / oldpage yönlendirme http://www.site.com/newpage.php.

2.2. Tüm FILES.HTM'den yeniden yönlendirin.

REWRITECOND% (Require_FileName)! -F REWRITERULE ^ (. *) \\. HTM $ 1.HTML

Veya ikinci seçenek:

Rewriterule ^ (. *) \\. HTM $ 1.HTML

2.3. Kataloğu tüm kataloğu başka bir sayfaya yönlendirin

Dizin ve alt dizinler / eski / eski / agreded adresindeki herhangi bir sayfadan /new.php üzerinde yönlendirilir

Rewriterule ^ old (. *) $ /New.php

2.4. URL adresindeki gereksiz eğik çizgileri çıkarma

Örneğin, sayfa /catalog///stranica.html kullanılabilir ve açılır. Böyle bir durumdan kaçınmak ve üretmemek sonsuz sayı Çiftler bir sonraki yönlendirmeyi yazmalı

Rewritecond% (Request_uri) ^ (. *) // (. *) $ Yeniden yazar. % 1 /% 2

2.5. Yönlendirmeden revrit

URL sayfasının adresini değiştirmeden başka bir sayfa indirebilirsiniz. Örneğin, /news.html sayfasını indirin ve adres çubuğu adresi / haberleri / mutlu mesajı görüntüleyecektir.

Rewriterle ^ Haber / Happy. * /News.html [l]

2.6. Adresin sonunda prostanovka kapanış slash ana sayfa

Örneğin, birçok sunucu, son eğik çizgi URL'de yazılmayacak şekilde çalışır. Örneğin, http://site.ru. Aşağıda, verilen kod bu soruna karar verir: Site http://site.ru/ adresinden açılacaktır.

RewriteCond% (Require_uri) / + [^ ^ 1 + $ REWRITERULE ^ (. + [^ /]) $% (Request_uri) /

2.7. Dizin dizini URL'den siliyoruz

Örneğin, yönlendirme için site.com/directoriya/stranica.html sitesinde sit.com/tranica.html aşağıdakileri kaydetmeniz gerekir:

Rewriterule ^ directoriya /(.+) $ http://site.com/$1

Veya ikinci seçenek:

Rewritecond. % (Document_root) / Directoriya / $ 1 -f rewriterule ^ (. *) $ Diriterya / $ 1

2.8. Yönlendirme parametrelerini alın

Örneğin, sayfadan yeniden yönlendirin /? ACT \u003d P2 & ID \u003d 2 / PAGE-2 /

Rewritecond% (query_string) ACT \u003d Page RewriteCond% (query_string) id \u003d (\\ d +) Rewriterule. * / Sayfa /% 1 /? ]

2.9. M.Site.ru sitesinin mobil versiyonunu yönlendirin

İÇİNDE bu örnek İlk önce, kullanıcının bir site açtığı gerçeğini kontrol eder. mobil cihaz (Http_user_agent), sonra site adresi M.Url'de değiştirilir.

RewriteCond% (http_host) ^ (. *) $ RewriteCond% (http_user_Agent) (? I: MIDP | SAMSUNG | NOKIA | J2ME | Avant | Docomo | Novarra | Palmos | Palmsource | Opwv | CHTML | PDA | MMP | BlackBerry | MIB | Symbian | Kablosuz | Nokia | El | Mobi | Telefon | CDM | Upb | SES | SIE | SECT | SAMSUNG | HTC | MOT- | MITSU | SAGEM | Sony | Alcatel | LG | Eric | VX | NEC | Philips | MMM | XX | Panasonic | Keskin | WAP | Sch | Rover | Pocket | Benq | Java | | PT | PG | VOX | Amoi | Bird | Compal | KG | Voda | Sany | KDD | DBT | Sengo | SGH | Gradi | JB | DDDI | Moto | iPhone | Android) Rewriterule ^ $ http: //m.%1

2.10. Alt etki alanı ile yönlendir

Örneğin, ana etki alanı sitesinde herhangi bir Sayfa Subdomain Poddomen.site.ru'dan yönlendirme yapacağım.

REWRITECOND% (http_host) ^ poddomen.site.ru $ rewriterule ^ (. *) $ Http: //site.ru% (Request_uri)

3. htaccess ile örnekleri ileri

3.1. IP adresini ve tarayıcıyı devre dışı bırakın

IE tarayıcısından bir IP adresi ile bir kullanıcı için bir web sitesi açmayı yasaklıyoruz. 172.111.222.55

Rewritecond% (http_user_agent) MSIE yeniden yazmacond% (remote_addr) ^ 172 \\ .111 \\ .222 \\ .55 $ REWRITERULE ^. * $ - [F]

3.2. Belirli bir dosyayı yasakla

Tüm Disable_File.HTML dosyası için yasaklıyoruz:

Hepsinden inkar etmek

3.3. Bir IP'den erişime izin ver

Erişim yalnızca bir IP adresinden 172.111.222.55'e izin verilecektir.

sipariş reddetmek, inkar etmesine izin ver 172.111.222.55

3.4. Farklı IP'den erişimi devre dışı bırakın

Siteye birkaç IP adresinden erişimi yasaklamak için 172.112.222.55, 172.113.222.55, 172.114.55, 172.114.55, 172.114. *. *

Sipariş inkar, 172.112.222.55 tarihinden itibaren 172.112.222.55 in reddinden inkar edilmesine izin verin. 172.114. *. *

3.5. URL'de büyük karakterlerden küçüklere yönlendirin

Her şey büyük harfler URL adresi küçük olanlara çevrilecektir.

Yenidenwriterule - Rewriterule! - Rewriterule ^ ([[^ a] *) a (. *) $ 1a $ 2 $writerule ^ ([^ b] *) b (. *) $ 1B $ 2 yeniden yazma ^ ([^ c] *) c ( . *) $ 1C $ 2 $writerule ^ ([^ d] *) D (. *) $ 1D $ 2 yeniden yazma ^ ([[^ e] *) e (. *) $ 1e $ 2 $writerule ^ ([[ ^ F] *) f (. *) $ 1F $ 2 $writerule ^ ([^ g] *) g (. *) $ 1g $ 2 yeniden yazma ^ ([^ H] *) h (. *) $ $ 1 $ 2 regriterule ^ ([^ i] *) i (. *) $ 1i $ 2 REWriterle ^ ([[^ j] *) J (. *) $ 1J $ 2 REWRITERULE ^ ([^ K] *) k (. *) $ 1k $ 2 $writerule ^ ([^ l] *) l (. *) $ 1L $ 2 REWriterule ^ ([^ m] *) m (. *) $ 1m $ 2 $writerule ^ ([^ n] *) n (. *) $ 1 $ 2 $ regriterule ^ ([^ o] *) o (. *) $ 1O $ 2 $writerule ^ ([^ P] *) P (. *) $ 1 $ $ 2 REWRITERULE ^ ([^ q] *) q (. *) $ 1Q $ 2 $writerule ^ ([^ r] *) r (. *) $ 1 r $ 2 REWRITERULE ^ ([^ S] *) S (. *) $ 1 s $ 2 regriterule ^ ([^ t] *) t (. *) $ 1 T $ 2 REWriterule ^ ([^ U] *) u (. *) $ 1U $ 2 Rewriterle ^ ([[^ v] *) v (. *) $ 1V $ 2 $writerule ^ ([^ w] *) w (. *) $ 1W $ 2 yeniden yazma ^ ([^ x] *) x (. *) $ 1x $ 2 REWRITERULE ^ ([^ y] *) Y (. *) $ 1Y $ 2 REWriterule ^ ([^ z] *) z (. *) $ 1z $ 2 $writerule - [n] RewriteCond% (env: karkaplar) gerçek rwrwr iterul ^ /? (. *) / $ 1
Konuya devam ediyor:
Akıllı telefon

Minitool Güç Veri Kurtarma Serbest Sürümü, verileri kurtarmak için tasarlanmış kullanımı kolay bir programdır. Minitool Güç Veri Kurtarma ile çalışmak için ...