Генератор на .htaccess пренасочувања
Создајте 301 и 302 пренасочувања за .htaccess или Nginx, наметнете HTTPS и www, преместете домен и средете ја косата црта со проверки за јамки и синџири.
Прво направете резервна копија на тековната конфигурација и тестирајте со 302 пред да преминете на 301: прелистувачите ги кешираат трајните пренасочувања.
Проверки
Не се пронајдени проблеми.
Како да го користите генераторот на .htaccess пренасочувања
- Изберете го вашиот Сервер: Apache (.htaccess) или Nginx, па Тип на пренасочување: 301 – трајно или 302 – привремено.
- Во Пренасочувања на страници напишете по едно пренасочување во ред: старата патека, празно место, па новиот URL, на пример
/old-page.html /new-page/. Работат и табулатор, запирка или->, а можете да залепите и цели стари URL-адреси или постојни редовиRedirect 301 /a /b. - По желба внесете Вашиот домен (на пример
example.com) за пренасочувањата на страници да одат директно на конечната адреса. - Под Каноничка адреса штиклирајте Наметни HTTPS и изберете Наметни www, Отстрани www или Остави www како што е. Под Коса црта на крајот изберете дали да се додава или отстранува.
- Ако целиот сајт се преселил, пополнете Преместете го целиот домен со Стар домен и Нова адреса, и оставете штиклирано Задржи ја патеката за секоја страница да стигне на својот еквивалент.
- Прочитајте ги Проверките, па Копирај или Преземи ги правилата. Користете Вчитај пример за да видите целосна конфигурација.
Како работат генерираните правила
За Apache алатката пишува правила mod_rewrite, почнувајќи со еден RewriteEngine On. Секоја страница станува RewriteRule чиј образец започнува со ^/?, па работи и во датотека .htaccess (каде водечката коса црта се отстранува) и во блок <VirtualHost>. Точките, аглестите загради, знаците плус и другите знаци од регуларните изрази во вашите патеки се ескејпираат, а празното место станува \x20. Во новиот URL $ и % се ескејпираат бидејќи Apache би ги читал како повратни референци, а знамето NE спречува Apache да го кодира URL-от втор пат.
RewriteRule никогаш не ја гледа низата за пребарување (query string). Кога старата адреса содржи таква, како /product.php?id=42, алатката додава ред RewriteCond %{QUERY_STRING} ^id=42$ и знаме QSD, па старите параметри се отфрлаат наместо да се копираат на новата страница.
Правилата се подредени за да се избегнат непотребни скокови: прво преместувањето на домен, потоа пренасочувањата на страници, потоа косата црта на крајот, па HTTPS и www. HTTPS и www се обработуваат со едно правило, па http://www.example.com оди на https://example.com со едно пренасочување. Кога вашиот домен е познат, пренасочувањата на страници и коса црта веќе укажуваат на конечната HTTPS адреса.
За Nginx, HTTPS, www и преместувањата на домен стануваат посебни блокови server со return 301, а пренасочувањата на страници стануваат редови rewrite што ги ставате во вашиот главен блок server. Тие се извршуваат пред совпаѓањето на location, па победуваат и над правилото за косата црта на крајот. Знакот ? на крајот од целта спречува Nginx да ја додаде старата низа за пребарување кога не треба.
Извршени проверки
- Страница што се пренасочува кон себе или две страници што се пренасочуваат една кон друга (јамка што завршува со „премногу пренасочувања“).
- Синџири како A → B → C: насочете го A директно кон C, бидејќи секој дополнителен скок ги забавува посетителите и го троши буџетот за индексирање.
- Иста стара адреса наведена двапати, каде што важи само првото правило.
- Цел што не е ниту апсолутен URL ниту патека што започнува со
/, или цел соhttp://или погрешно www на вашиот домен. - Поставка за коса црта на крајот што повторно би ја пренасочила целта или би ја вратила на изворот.
Сè се случува во вашиот прелистувач: алатката само создава текст, а ништо од внесеното не се испраќа на сервер.
Често поставувани прашања
Дали да користам 301 или 302?
Користете 301 кога преместувањето е трајно: пребарувачите ги пренесуваат сигналите на старата страница на новата и го ажурираат индексот. Користете 302 за привремени промени, како одржување или кратка кампања. Прелистувачите ги кешираат пренасочувањата 301, па прво тестирајте со 302.
Каде да ја ставам датотеката .htaccess?
Во коренската папка на сајтот (често public_html или www), покрај index.php или index.html. Преземената датотека се вика htaccess.txt; преименувајте ја во .htaccess или залепете ги правилата на врвот од вашата постојна датотека. Чувајте резервна копија од оригиналот.
Зошто RewriteRule наместо Redirect 301?
Редовите Redirect доаѓаат од mod_alias и се извршуваат во друга фаза од RewriteRule. Мешањето на двете во една датотека го прави редоследот тешко предвидлив. Користењето само на mod_rewrite ги држи сите правила во една предвидлива низа и овозможува совпаѓање на низи за пребарување.
Мојот сајт покажува „премногу пренасочувања“ по наметнувањето на HTTPS. Зошто?
Зад балансер на оптоварување, CDN или прокси што го завршува HTTPS, Apache секое барање го гледа како обичен HTTP, па %{HTTPS} е секогаш исклучено. Во тој случај тестирајте го проследеното заглавие, на пример RewriteCond %{HTTP:X-Forwarded-Proto} !https, или овозможете го пренасочувањето во CDN.
Дали оваа алатка го менува мојот сервер?
Не. Само создава текст во вашиот прелистувач. Ништо не се испраќа никаде, а вие одлучувате каде и како се инсталираат правилата.
Поврзани алатки
- Генератор на robots.txt Создајте важечка датотека robots.txt со групи user-agent, правила Allow и Disallow, sitemap и crawl-delay, со проверки за чести грешки.
- Генератор на hreflang ознаки Создајте hreflang ознаки за повеќејазични страници како HTML link ознаки, записи за XML sitemap или HTTP Link заглавија, со проверки на кодови и реципроцитет.
- Генератор на мета ознаки Бесплатен генератор на мета ознаки за наслов, мета опис, каноничка URL-адреса, robots и viewport, со проверки на должина и правилно ескејпиран HTML.
- URL кодирање и декодирање Бесплатно URL кодирање и декодирање. Процентно кодирајте параметри или цели адреси, декодирајте низи %XX и третирајте + како празно место. Во прелистувачот.