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

Peradresuoti .htaccess: nukreipti į kitą domeną ir nukreipti į kitą puslapį

  1. Peradresavimas .htaccess: nuolatinis nukreipimas, 301
  2. Kaip nustatyti peradresavimą į www (arba be www)
  3. Kaip sukurti .htaccess
  4. .Htaccess failas neveikia
  5. Ar nginx yra .htaccess analogas?
  6. Leidėjas
  7. x64 (dar žinomas kaip andi)

Geras sekmadienis!

Labai dažnai forumuose galite rasti klausimų apie .htaccess - „Apache“ žiniatinklio serverio konfigūracijos failą. Pagrindinis kliūtis yra tai, kad plėtra neturėjo patogaus konfigūravimo galutiniam vartotojui (platinimas neapima apvalkalo vizualiems įrenginiams, naudojant žymės langelius, išskleidžiamuosius sąrašus ir tt), tačiau serverio administratoriai susiduria su šia užduotimi, nes yra patenkintas „mana“ (iš „Linux“ komandos - žmogus - greitas mokymo kursas iš kūrėjų arba šiuo atveju iš specialistų į specialistus).

Daugeliu atvejų reikia paprastų manipuliacijų: besąlygiško nukreipimo į kitą svetainę arba peradresavimą iš vienos vietos į kitą (tarkim, kai pasikeitė skyriaus URL). Ir kiekvienas žmogus pradeda tikėti, kad niekur nėra jokių problemų, ir net nenaudinga ieškoti sprendimo internete ir ieškoti forume. Pažiūrėkime, kokios šios problemos tikrai nėra.

Pažiūrėkime, kokios šios problemos tikrai nėra

Peradresavimas .htaccess: nuolatinis nukreipimas, 301

Šis dalykas turi skirtingus pavadinimus. Neponyatki gali sukelti šį skaičių - kodėl 301? Esmė slypi pačiame HTTP protokole, kuris reaguoja į kliento užklausas su tam tikru būsenos kodu. 404 nerastas kodas yra žinomas beveik visiems. 200 OK kodas yra beveik nežinomas, bet tai reiškia, kad viskas yra tvarkinga ir dokumentas bus rodomas naršyklėje. Tačiau kodas 301 perkeltas nuolat reiškia, kad dokumentas pagaliau perkeltas į naują adresą. Tai dažnai vadinama peradresavimu, nors bendras atsako baseinas yra pažymėtas kaip - 3xx: peradresavimas .

„Apache“ turi kelias peradresavimo galimybes. Mod_rewrite modulis yra puikus mechanizmas darbui su peradresavimais, ir ateityje jį naudosiu pavyzdžiuose. Mod_alias modulis taip pat turi direktyvų, skirtų peradresavimui iš konkretaus adreso arba iš adreso, kuris atitinka įprastą išraišką:
Nukreipti nuolatinį / http://newsite.ru/
RedirectMatch nuolatinis. * Http://newsite.ru/
Tačiau mod_rewrite turi papildomų peradresavimo galimybių, todėl geriausia jį naudoti (IMHO).

Apskritai, besąlyginiam išoriniam (vadiname vartotojui) peradresavimą, kuriame naršyklė automatiškai peradresuoja į kitą puslapį, paprastai nepastebimai vartotojui (adreso juostos pakeitimai), galite įvesti tokį kodą .htaccess:
Įjungti „RewriteEngine“
RewriteRule. * Http://newsite.ru/ [L, R = nuolatinis]
Čia pirmoji eilutė apima mod_rewrite modulio mechanizmą, kuriam leidžiama nieko daryti su adresais. Pakvieskime šią URL konversiją pagal skrydžio sąlygas. Antroje eilutėje tiesiogiai apibrėžiama konversijos taisyklė, aukščiau pateiktame pavyzdyje visi prašymai bus nukreipti į http://newsite.ru/. Vėliavos dedamos į kvadratinius skliaustelius: L - paskutinė (paskutinė) taisyklė, R - peradresavimo tipas (peradresavimas), nurodomas kaip R = kodas, kur kodas yra raidinis arba skaitmeninis pavadinimas (nuolatinis arba 302).

Tiesą sakant, mod_rewrite yra labai naudingas dalykas, nes dėl to daugelis variklių aktyviai naudoja vadinamąjį CNC (žmogaus URL suprantamas). Jei nesuprantate šio termino, aš paaiškinsiu su pavyzdžiu. Straipsnis apie nemokamai varikliai vietoje turi adresą: https://a-panov.ru/2014/11/free-cms/

Žiūrėdami į šį URL, iš karto aišku, kad straipsnis buvo paskelbtas 2014 m. Lapkritį. Pašalinant pavadinimą su galiniu brūkšniu - https://a-panov.ru/2014/11/ - gausime visų lapkričio mėn. Publikacijų sąrašą. Įprasti adresai, tipas:

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

nėra ypatingo draugiškumo. Matydami tokį adresą, jūs negalite pasakyti apie puslapį, kuriame jis veda, nieko.

Šis metodas yra geras, kai nerūpi, kuriam naujo puslapio puslapiui reikia susieti. Bet jei perkėlėte į kitą domeną, patartina nukreipti visus prašymus išlaikant adresus. Norėdami tai padaryti, naudokite šį kodą:
RewriteRule ^. * $ Http://newsite.ru/$0 [QSA, L, R = nuolatinis]
Naujoji QSA vėliava taip pat išsaugos parametrus, kuriuos galima rasti adresuose po klausimyno. Jau žinomame pavyzdyje:

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

jei kodą įkelsiu į viršutinę .htaccess, tuomet bus nukreiptas į adresą http://newsite.ru/?p=389, kuris be šios vėliavos nebūtų.

Toliau išbrauksiu direktyvą dėl pertvarkymo įtraukimo:
Įjungti „RewriteEngine“
tiesiog nepamirškite: jei naudojate mod_rewrite mechanizmą, tada visos sąlygos / konversijos turi būti atliktos po šios direktyvos. Jei norite išjungti šią eilutę, naudojama:
„RewriteEngine Off“
atitinkamai, kiekvienai taisyklei nereikia nuolat „įjungti“ transformacijų - ji pradedama automatiškai, iškart po pirmosios direktyvos.

Kaip nustatyti peradresavimą į www (arba be www)

Tokie peradresavimai reikalingi tais atvejais, kai svetainė yra prieinama nsite.ru ir www.nsite.ru parinktyse, tokiu atveju paieškos varikliai juos kartoja ir gali pasirinkti vieną iš parinkčių kaip pagrindinis veidrodis , arba paieškoje bus parinktys iš abiejų domenų. Apskritai tai yra neigiamas veiksnys vertinant svetainę.

Galimybė lengviau vienam domenui. Peradresavimas atliekamas iš subdomeno www.site.ru į site.ru:
„RewriteCond“% {HTTP_HOST} ^ www \ t
RewriteRule. * Http://nsite.ru/$0 [QSA, L, R = nuolatinis]
Čia atsirado nauja „ RewriteCond“ direktyva, kuri nustato sąlygą, pagal kurią peradresavimas turėtų veikti - „ RewriteRule“ taisyklės. Sąlyga, šiuo atveju, domeno vardas, atitinkantis www.nsite.ru (reguliarios išraiškos, taško simbolis reiškia „bet kokį simbolį“, todėl patartina jį apsaugoti su grįžtamuoju brūkšniu).

Atvirkštinis peradresavimas taip pat yra labai paprastas:
„RewriteCond“% {HTTP_HOST} ^ „nsite“
RewriteRule. * Http://www.nsite.ru/$0 [QSA, L, R = nuolatinis]
Abi parinktys veikia, tačiau jos turi mažą minusą - kiekvienam naujam konfigūravimui reikia pakeisti „ nsite.ru“ domeną. Ar įmanoma sukurti unikalią galimybę? Lengva!

Peradresuokite iš bet kurio www subdomeno:
„RewriteCond“% {HTTP_HOST} ^ www (. *) $
RewriteRule. * Http: //% 1 / $ 0 [QSA, L, R = nuolatinis]

Peradresuokite į subdomeną naudodami www:
„RewriteCond“% {HTTP_HOST}! ^ Www \ t
RewriteRule. * Http: //www.% {HTTP_HOST} / $ 0 [QSA, L, R = nuolatinis]

% {HTTP_HOST} - dabartinis domenas

Kaip sukurti .htaccess

Taip pat kyla tokių klausimų. Problema yra ta, kad standartinė „ Explorer“ („Windows“ programa, kuri yra atsakinga už grafinę sąsają) neleidžia kurti failų, pradedant tašku (failų ar aplankų kūrimas, dešiniuoju pelės klavišu spustelėjus darbalaukį ar langą, ir pasirinkite norimą veiksmą iš sąrašo „ Sukurti“ ). Tačiau yra išeitis: atidarykite standartinį Notepad įrašytuvą, meniu pasirinkite File → Save as ... ir įrašykite .htaccess kaip išsaugoto failo pavadinimą - po to jis bus sukurtas.

.Htaccess failas neveikia

Yra atvejų, kai dokumentų failai neveikia. Tai paprastai sukelia tai, kad „.htaccess“ palaikymas išjungtas „Apache“ konfigūracijoje, už kurią yra atsakinga ši direktyva:
AllowOverride nėra

Tai paprastai daroma siekiant šiek tiek padidinti greitį - šiuo atveju žiniatinklio serveris neišieško ir neišnagrinėja .htaccess.

Taip pat įmanoma, kad „Apache“ serveryje nenaudojama, pvz., „IIS“ yra pagrindinis „Windows“ svečio „svečias“. Norėdami paaiškinti, kreipkitės į savo globėjo palaikymą.

Ar nginx yra .htaccess analogas?

Kitas gana dažnas klausimas. Šiame interneto serveryje tai neįmanoma. Tačiau tai paprastai nereikalinga. Faktas yra tai, kad „nginx“ paprastai įdiegiama kaip „frondend“, ty ji priima ir apdoroja visus prašymus, kuriuos ji pati atlieka arba nukreipia į „backend“, kurią gali atlikti „Apache“, kuri gali būti toliau konfigūruojama naudojant .htaccess.

Leidėjas

ne internete 1 diena

x64 (dar žinomas kaip andi)

Komentarai: 2834 Leidiniai: 394 Registracija: 2009-04-02

Htaccess analogas?
Neponyatki gali sukelti šį skaičių - kodėl 301?
Ru/?
Ru/?
Ru/?
Ar įmanoma sukurti unikalią galimybę?
Htaccess analogas?


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

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

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

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

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

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

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

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

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

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