• Главная
  • Карта сайта
Не найдено

Пренасочување .htaccess: пренасочување кон друг домен и пренасочување кон друга страница

  1. Пренасочување. Htaccess: трајно пренасочување, 301
  2. Како да поставите пренасочување кон www (или без www)
  3. Како да креирате .htaccess
  4. Датотеката .htaccess не работи
  5. Дали има некој аналог на .htaccess во nginx?
  6. Издавач
  7. x64 (aka andi)

Добра недела!

Многу често во форумите можете да најдете прашања на .htaccess - конфигурациската датотека на Apache веб сервер. Главниот камен на сопнување е дека развојот немал задача за пригодна конфигурација за крајниот корисник (дистрибуцијата не вклучува школка за визуелни инсталации со користење полиња за избор, паѓачки листи итн.), Но административните сервери се справи со оваа задача извонредно, задоволувајќи се со "мана" (од тимот на Линукс - човек - брз туторијал од програмери, или во овој случај од професионалци до професионалци).

Во повеќето случаи, потребни се едноставни манипулации: безусловно пренасочување кон друго место или пренасочување од едно до друго место (да речеме, кога URL-то на секцијата е променето). И секој човек почнува да верува дека дефинитивно нема никаков проблем насекаде, и дури е бескорисно да се бара решение на интернет и да се пребарува на форумот. Ајде да видиме што овие проблеми навистина не се.

Ајде да видиме што овие проблеми навистина не се

Пренасочување. Htaccess: трајно пренасочување, 301

Оваа работа има различни имиња. Непонајтки може да го предизвика тој број - зошто е 301? Суштината лежи во самиот HTTP протокол, кој одговара на барањата на клиентот со специфичен код за статусот. Кодот од 404 не е пронајден на скоро сите. 200 OK кодот е речиси непознат, но тоа значи дека сè е во ред и документот ќе биде прикажан во прелистувачот. Но, кодот 301 Преместен Трајно значи дека документот конечно се пресели на нова адреса. Ова е она што често се нарекува пренасочување, иако вкупниот одбранбен одговор е означен како - 3xx: Пренасочување .

Apache има неколку опции за пренасочувања. Mod_rewrite модулот обезбедува одличен механизам за работа со пренасочувања, и во иднина ќе го користам во примерите. Модулот mod_alias исто така има директиви за пренасочувања од одредена адреса или од адреса што одговара на регуларниот израз:
Пренасочување постојано / http://newsite.ru/
RedirectMatch постојано. * Http://newsite.ru/
Но mod_rewrite има дополнителни опции за пренасочување, па затоа е најдобро да го користите (IMHO).

Во принцип, за безусловно надворешно (ајде да го наречеме корисник) пренасочување, во кое прелистувачот автоматски пренасочува кон друга страница, обично незабележливо за корисникот (полето за адреси се менува), можете да го ставите тој код во .htaccess:
Вчитај повторно
RewriteRule. * Http://newsite.ru/ [L, R = постојан]
Овде, првата линија го вклучува механизмот на mod_rewrite модулот, кој е дозволено да прави нешто со адресите. Ајде да ја наречеме оваа конверзија на URL-то со услови на летање. Втората линија директно го дефинира правилото за конверзија, во примерот погоре, сите барања ќе бидат пренасочени на http://newsite.ru/. Знамињата се поставени во квадратни загради: L - последно правило, R - пренасочен тип (пренасочување), означен како R = код, каде што кодот е азбучен или нумерички ознака (постојан или 302).

Всушност, mod_rewrite е многу корисна работа, бидејќи поради тоа многу мотори активно го користат т.н. CNC (Човечки URL Разбирлив). Ако не сте запознаени со овој поим, ќе ви објаснам со пример. Член за бесплатни мотори за локацијата има адреса: https://a-panov.ru/2014/11/free-cms/

Гледајќи го овој URL-то, веднаш е јасно дека статијата е објавена во ноември 2014 година. Со отстранување на насловната страна со коса црта - https://a-panov.ru/2014/11/ - ќе добиеме листа на целата публикација за ноември. Нормални адреси, напишете:

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

нема посебна стил. Кога гледате таква адреса, не можете да кажете за страната на која тој води, апсолутно ништо.

Овој метод е добар кога не ми е гајле која страница на новата страница да се поврзат. Но, ако сте се преселиле во друг домен, препорачливо е да ги пренасочите сите барања додека одржувате адреси. За да го направите ова, користете го следниов код:
RewriteRule ^. * $ Http://newsite.ru/$0 [QSA, L, R = постојан]
Новиот знак QSA, исто така, ќе ги зачува параметрите што може да се најдат во адресите по прашалникот. Во веќе познатиот пример:

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

ако го поставам кодот во .htaccess погоре, тогаш ќе има пренасочување на адресата http://newsite.ru/?p=389 која без ова знаме не би постоела.

Во понатамошниот текст, ќе ја испуштам директивата за вклучување во трансформацијата:
Вчитај повторно
само запомнете: ако го користите механизмот mod_rewrite, тогаш сите услови / конверзии мора да се извршат по оваа директива. За да се оневозможи следнава линија се користи:
Исклучи
Според тоа, за секое правило нема потреба постојано да се "претвораат" трансформации - започнува да се врши автоматски веднаш по првата директива.

Како да поставите пренасочување кон www (или без www)

Таквите пренасочувања се потребни за случаи кога сајтот е достапен на опциите nsite.ru и www.nsite.ru, во овој случај, пребарувачите ги сметаат за дупликати и можат да изберат една од опциите како главното огледало , или во потрагата ќе има опции од двата домени. Во принцип, ова е негативен фактор при рангирањето на страницата.

Опцијата полесно за еден домен. Пренасочување се врши од поддоменот www.site.ru на site.ru:
RewriteCond% {HTTP_HOST} ^ www \ .nsite \ .ru $
RewriteRule. * Http://nsite.ru/$0 [QSA, L, R = постојан]
Ова е местото каде се појави новата RewriteCond директива, која ја поставува условот под кој треба да работат пренасочувањата - правилата RewriteRule . Состојбата, во овој случај, името на доменот што одговара на www.nsite.ru (во регуларни изрази, симболот со точки значи "секој карактер", па затоа препорачливо е да го заштитите со обратна коса црта).

Обратно пренасочување е исто така многу едноставно:
RewriteCond% {HTTP_HOST} ^ Nsite \ .ru $
RewriteRule. * Http://www.nsite.ru/$0 [QSA, L, R = постојан]
И двете опции работат, но тие имаат мал минус - за секоја нова конфигурација е неопходно да се замени доменот nsite.ru со своја. Дали е можно да се направи единствена опција? Лесно!

Пренасочување од било кој www поддомен:
RewriteCond% {HTTP_HOST} ^ www \. (. *) $
RewriteRule. * Http: //% 1 / $ 0 [QSA, L, R = постојан]

Пренасочување кон поддомен со www:
RewriteCond% {HTTP_HOST}! ^ Www \.
RewriteRule. * Http: //www.% {HTTP_HOST} / $ 0 [QSA, L, R = постојан]

% {HTTP_HOST} - тековен домен

Како да креирате .htaccess

Таквите прашања, исто така, се јавуваат. Проблемот е во тоа што стандардниот Explorer (апликацијата во Windows, која е одговорна за графичкиот интерфејс) не ви дозволува да креирате датотеки почнувајќи со точка (креирање датотеки или папки со десен клик на десктопот или во прозорец и избирање на саканата акција од списокот за креирање ). Но, постои излез: отворете го стандардниот рекордер на Notepad, одберете File → Save as ... во менито и наведете .htaccess како име на зачуваната датотека - после тоа ќе биде креиран.

Датотеката .htaccess не работи

Има случаи кога директивите од датотека не работат. Ова обично е предизвикано од фактот дека поддршката .htaccess е оневозможена во конфигурацијата на Apache, за што е одговорен директивата:
ДозволиОбезбеди ништо

Ова вообичаено се прави за да се зголеми брзината - во овој случај, веб серверот не го пребарува и разгледува .htaccess.

Исто така е можно дека Apache не се користи на серверот, на пример, IIS е главниот "гостин" на Windows хостинг. За појаснување, контактирајте со поддршката на вашиот hoster.

Дали има некој аналог на .htaccess во nginx?

Друго прилично често прашање. Во овој веб сервер, ова не е можно. Сепак, ова обично не е потребно. Факт е дека nginx обично се инсталира како frondend, односно ги прифаќа и обработува сите барања што тој или самиот ги извршува или ги пренасочува кон задниот дел, кој може да го изврши Apache, кој понатаму може да се конфигурира со користење .htaccess.

Издавач

не е онлајн 1 ден

x64 (aka andi)

Коментари: 2834 Публикации: 394 Регистрација: 02-04-2009

Htaccess во nginx?
Непонајтки може да го предизвика тој број - зошто е 301?
Ru/?
Ru/?
Ru/?
Дали е можно да се направи единствена опција?
Htaccess во nginx?
Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью