<
  • Главная
Статьи

Presmerovať .htaccess: presmerovanie na inú doménu a presmerovanie na inú stránku

  1. Presmerovanie .htaccess: trvalé presmerovanie, 301
  2. Ako nastaviť presmerovanie na www (alebo bez www)
  3. Ako vytvoriť .htaccess
  4. Súbor .htaccess nefunguje
  5. Existuje nejaký analóg .htaccess v nginx?
  6. Autori
  7. x64 (aka andi)

Dobrú nedeľu!

Často sa vo fórach nachádzajú otázky týkajúce sa .htaccess - konfiguračného súboru webového servera Apache. Hlavným kameňom úrazu je, že vývoj nemal za úlohu pohodlnú konfiguráciu pre koncového používateľa (distribúcia nezahŕňa shell pre vizuálne inštalácie pomocou zaškrtávacích políčok, rozbaľovacích zoznamov atď.), Ale administrátori serverov zvládajú túto úlohu pozoruhodne, pretože sú spokojní s "mana" (z tímu Linux - človek - rýchly návod od vývojárov alebo v tomto prípade od profesionálov k profesionálom).

Vo väčšine prípadov sa vyžaduje jednoduchá manipulácia: bezpodmienečné presmerovanie na iné miesto alebo presmerovanie z jedného miesta na druhé (napríklad, keď sa zmenila adresa URL sekcie). A každý človek si začína myslieť, že nikde nie je žiadny problém a je dokonca zbytočné hľadať riešenie na internete a vyhľadávať na fóre. Pozrime sa, čo tieto problémy naozaj nie sú.

Pozrime sa, čo tieto problémy naozaj nie sú

Presmerovanie .htaccess: trvalé presmerovanie, 301

Táto vec má iné mená. Neponyatki môže spôsobiť, že toto číslo - prečo je 301? Podstata spočíva v samotnom protokole HTTP, ktorý reaguje na požiadavky klienta špecifickým stavovým kódom. Kód 404 Not Found je známy takmer každému. Kód 200 OK je takmer neznámy, ale znamená to, že všetko je v poriadku a dokument sa zobrazí v prehliadači. Kód 301 sa však trvalo presunul, čo znamená, že sa dokument nakoniec presunul na novú adresu. To je to, čo sa často nazýva presmerovanie, hoci celkový rozsah odpovedí je označený ako - 3xx: Presmerovanie .

Apache má niekoľko možností na presmerovanie. Modul mod_rewrite poskytuje vynikajúci mechanizmus pre prácu s presmerovaním av budúcnosti ho budem používať v príkladoch. Modul mod_alias má tiež smernice pre presmerovanie z konkrétnej adresy alebo z adresy, ktorá zodpovedá regulárnemu výrazu:
Presmerovanie trvalý / http://newsite.ru/
RedirectMatch permanent. * Http://newsite.ru/
Ale mod_rewrite má ďalšie možnosti pre presmerovanie, takže je najlepšie ho používať (IMHO).

Všeobecne platí, že v prípade bezpodmienečného externého presmerovania (povedzme to používateľ), v ktorom prehliadač automaticky presmeruje na inú stránku, zvyčajne pre používateľa neznáme (adresa sa zmení), môžete takýto kód vložiť do .htaccess:
RewriteEngine On
RewriteRule. * Http://newsite.ru/ [L, R = trvalé]
Prvý riadok tu obsahuje mechanizmus modulu mod_rewrite , ktorý môže s adresami robiť čokoľvek. Zavoláme túto konverziu adresy URL podľa podmienok za behu. Druhý riadok priamo definuje pravidlo pre konverziu, vo vyššie uvedenom príklade budú všetky požiadavky presmerované na http://newsite.ru/. Vlajky sú umiestnené v hranatých zátvorkách: pravidlo L - posledné (Last), R - presmerovanie (Redirect), označené ako R = kód, kde kód je abecedné alebo číselné označenie (permanentné alebo 302).

V skutočnosti, mod_rewrite je veľmi užitočná vec, pretože je to kvôli tomu, že mnoho motorov aktívne využíva tzv. CNC (Human URL Understableable). Ak nie ste oboznámení s týmto termínom, vysvetlím príklad. Článok o pre dané miesto má adresu: https://a-panov.ru/2014/11/free-cms/

Pri pohľade na túto URL je okamžite jasné, že článok bol publikovaný v novembri 2014. Odstránením názvu s koncovou lomkou - https://a-panov.ru/2014/11// dostaneme zoznam všetkých publikácií za november. Normálne adresy, typ:

https://a-panov.ru/?p=389

žiadne zvláštne priateľstvo. Keď vidíte takúto adresu, nemôžete povedať o stránke, na ktorej vedie, absolútne nič.

Táto metóda je vhodná, keď sa nezaujímate, na ktorej stránke novej stránky sa chcete pripojiť. Ak ste sa však presťahovali do inej domény, odporúča sa presmerovať všetky požiadavky pri zachovaní adries. Použite nasledujúci kód:
RewriteRule ^. * $ Http://newsite.ru/$0 [QSA, L, R = trvalé]
Nový príznak QSA tiež uloží parametre, ktoré sa nachádzajú na adresách za otáznikom. V už známom príklade:

https://a-panov.ru/?p=389

ak umiestnim kód do .htaccess vyššie, potom bude presmerovanie na adresu http://newsite.ru/?p=389, ktorá by bez tohto príznaku neexistovala.

Ďalej budem vynechať smernicu o transformácii:
RewriteEngine On
Len si zapamätajte: ak používate mechanizmus mod_rewrite, potom všetky podmienky / konverzie musia byť vykonané po tejto smernici. Ak chcete zakázať nasledujúci riadok:
RewriteEngine Off
preto pre každé pravidlo nie je potrebné neustále „zapínať“ transformácie - začne sa automaticky, hneď po prvej smernici.

Ako nastaviť presmerovanie na www (alebo bez www)

Takéto presmerovania sú potrebné pre prípady, keď je stránka dostupná na stránkach nsite.ru a www.nsite.ru, v tomto prípade ich vyhľadávacie nástroje považujú za duplikáty a môžu si vybrať jednu z možností ako hlavné zrkadlo , alebo vo vyhľadávaní budú možnosti z oboch domén. Vo všeobecnosti je to negatívny faktor pri hodnotení stránky.

Možnosť jednoduchšia pre jednu doménu. Presmerovanie sa vykonáva z subdomény www.site.ru na stránku site.ru:
RewriteCond% {HTTP_HOST} ^ www lokalita .ru $
RewriteRule. * Http://nsite.ru/$0 [QSA, L, R = trvalé]
Tu sa objavila nová smernica RewriteCond , ktorá určuje podmienky, za ktorých by mali presmerovania fungovať - ​​pravidlá RewriteRule . Podmienka, v tomto prípade doménové meno zodpovedajúce www.nsite.ru (v regulárnych výrazoch, symbol bodky znamená „ľubovoľný znak“, takže je vhodné ho chrániť zadným lomítkom).

Reverzné presmerovanie je tiež veľmi jednoduché:
RewriteCond% {HTTP_HOST} ^ nsite .ru $
RewriteRule. * Http://www.nsite.ru/$0 [QSA, L, R = trvalé]
Obe možnosti fungujú, ale majú malý mínus - pre každú novú konfiguráciu je potrebné nahradiť doménu nsite.ru vlastnou doménou. Je možné urobiť jedinečnú možnosť? Jednoduché!

Presmerovanie z akejkoľvek subdomény www:
RewriteCond% {HTTP_HOST} ^ www (. *) $
RewriteRule. * Http: //% 1 / $ 0 [QSA, L, R = trvalé]

Presmerovanie na subdoménu pomocou www:
RewriteCond% {HTTP_HOST}! ^ Www \ t
RewriteRule. * Http: //www.% {HTTP_HOST} / $ 0 [QSA, L, R = trvalé]

% {HTTP_HOST} - aktuálna doména

Ako vytvoriť .htaccess

Takisto vznikajú tieto otázky. Problém je v tom, že štandardný Explorer (aplikácia vo Windows, ktorá je zodpovedná za grafické rozhranie) vám neumožňuje vytvárať súbory začínajúce bodkou (vytváranie súborov alebo priečinkov kliknutím pravým tlačidlom myši na pracovnú plochu alebo v okne a výberom požadovanej akcie zo zoznamu Vytvoriť ). Ale je tu cesta von: otvorte štandardný Notepad rekordér, vyberte File → Save as ... v menu, a zadajte .htaccess ako názov uloženého súboru - po tom bude vytvorený.

Súbor .htaccess nefunguje

Existujú prípady, keď nefungujú smernice zo súboru. Obvykle je to spôsobené tým, že podpora konfigurácie .htaccess je v konfigurácii Apache zakázaná, za ktorú zodpovedá smernica:
AllowOverride none

To sa zvyčajne robí pre zvýšenie rýchlosti trochu - v tomto prípade webový server nehľadá a analyzovať .htaccess.

Je tiež možné, že Apache sa na serveri nepoužíva, napríklad IIS je hlavným hosťom na Windows hostingu. Pre objasnenie kontaktujte podporu svojho hostiteľa.

Existuje nejaký analóg .htaccess v nginx?

Ďalšia pomerne častá otázka. V tomto webovom serveri to nie je možné. Toto sa však zvyčajne nevyžaduje. Faktom je, že nginx je zvyčajne nainštalovaný ako frondend, to znamená, že prijíma a spracúva všetky požiadavky, ktoré vykonáva buď sám, alebo presmeruje na backend, ktorý môže vykonať Apache, ktorý je možné ďalej konfigurovať pomocou .htaccess.

Autori

nie online 1 deň

x64 (aka andi)

Komentáre: 2834 Publikácie: 394 Registrácia: 02-04-2009



Новости
    Без плагина
    На сайте WordPress имеется файл, именуемый как .htaccess. Многие пользователи не предают ему особого внимания и не используют все его возможности. На самом деле файл .htaccess – это дополнительные конфигурации

    Плагин подписки wordpress
    Очень трудно найти один плагин подписки wordpress , который объединил бы в себе все виды подписок, которые так необходимы сайту. Именно поэтому я решил сделать подборку лучших плагинов, которые смогут

    Слайд-шоу с помощью плагина для WordPress UnPointZero Slider
    Плагин для cms WordPress UnPointZero Slider – новостной слайдер. Он отражает в форме слайд-шоу изображения со ссылками на ваши статьи и краткие выдержки оттуда. Его можно установить и на новостной сайт,

    Плагины для Wordpress
    С помощью этого плагина вы легко сможете интегрировать Google диск на ваш WordPress сайт или блог . Gravity Forms — лучший плагин для создания форм на WordPress, от самых простых (например, форма

    Подписки плагином JetPack: размещение и редакция формы подписки
    Вступление Здравствуйте! В этой статье я покажу, как использовать плагин JetPack для создания пользовательской формы подписки и как эту формы подписки плагином JetPack добавлять в статьи сайта, а при

    Чистка сайта WordPress плагином WP-optimize
    От автора Со временем использования система WordPress накапливает не нужные файлы, комментарии и неиспользуемые данные в базе данных. Эти файлы и данные создаются в процессе работы и нужны для этого,

    Возможности Jetpack плагина
    Вступление Возможности Jetpack плагина это более 30 функциональных модуля плагина, делающего его универсальным плагином WordPress, заменяющего аналогичные сторонние плагины. Jetpack один заменяет десятки

    Резервное копирование WordPress сайта без плагинов
    Вступление Резервное копирование WordPress это второе, что нужно научиться делать после установки WordPress. Можно сколько угодно говорить о безопасности сайта и его защите, но лучшего варианта защиты

    Плагины на приват для Майнкрафт ПЕ
    > > Плагины на приват для Майнкрафт ПЕ Порой всем нам хочется попробовать себя в роли администратора сервера и испытать эту ответственность, но, к сожалению, вы не всегда все знаете о создании

    Плагин WordPress Database Backup. Архивация базы данных блога на WordPress
    Привет друзья! Сегодня на очереди еще один простой, НО, необходимый и полезный плагин — плагин WordPress Database Backup , который с легкостью и самостоятельно произведет процесс, который научно называется:

  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью