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

Pārvirzīšana .htaccess: novirzīšana uz citu domēnu un novirzīšana uz citu lapu

  1. Pārvirzīšana .htaccess: pastāvīga novirzīšana, 301
  2. Kā iestatīt novirzīšanu uz www (vai bez www)
  3. Kā izveidot .htaccess
  4. .Htaccess fails nedarbojas
  5. Vai nginx ir .htaccess analogs?
  6. Izdevējs
  7. x64 (aka andi)

Laba svētdiena!

Ļoti bieži forumos varat atrast jautājumus par .htaccess - Apache tīmekļa servera konfigurācijas failu. Galvenais klupšanas akmens ir tas, ka attīstībai nebija ērts gala lietotāja uzdevums (izplatīšana neietver apvalku vizuālām instalācijām, izmantojot izvēles rūtiņas, nolaižamos sarakstus utt.), Bet servera administratori šo uzdevumu izpilda ievērojami, jo ir apmierināti ar "mana" (no Linux komandas - cilvēks - ātra apmācība no izstrādātājiem vai šajā gadījumā no profesionāļiem līdz profesionāļiem).

Vairumā gadījumu ir nepieciešamas vienkāršas manipulācijas: beznosacījumu novirzīšana uz citu vietni vai novirzīšana no vienas vietas uz citu (teiksim, kad ir mainījies sadaļas URL). Un katrs cilvēks sāk domāt, ka nekur nav nekādu problēmu, un ir pat bezjēdzīgi meklēt risinājumu internetā un meklēt forumā. Redzēsim, kādas šīs problēmas patiešām nav.

Redzēsim, kādas šīs problēmas patiešām nav

Pārvirzīšana .htaccess: pastāvīga novirzīšana, 301

Šai lietai ir dažādi vārdi. Neponyatki var radīt šo numuru - kāpēc ir 301? Būtība ir pašā HTTP protokolā, kas reaģē uz klienta pieprasījumiem ar noteiktu statusa kodu. 404 Not Found kods ir zināms gandrīz visiem. 200 OK kods ir gandrīz nezināms, bet tas nozīmē, ka viss ir kārtībā un dokuments tiks parādīts pārlūkā. Taču kods 301 pārvietots pastāvīgi nozīmē, ka dokuments beidzot pārcēlās uz jaunu adresi. To bieži sauc par novirzīšanu, lai gan kopējais atbildes baseins ir apzīmēts kā - 3xx: Pārvirzīšana .

Apache ir vairākas pārvirzīšanas iespējas. Mod_rewrite modulis nodrošina lielisku mehānismu, lai strādātu ar novirzīšanu, un nākotnē es to izmantos piemēros. Mod_alias modulim ir arī norādes par novirzīšanu no konkrētas adreses vai no adreses, kas atbilst regulārajai izteiksmei:
Novirzīt pastāvīgu / http://newsite.ru/
RedirectMatch pastāvīgi. * Http://newsite.ru/
Bet mod_rewrite ir papildu iespējas pāradresēšanai, tāpēc vislabāk to izmantot (IMHO).

Kopumā, ja tiek veikta beznosacījumu ārējā (pieņemsim, ka lietotājs) pāradresācija, kurā pārlūks automātiski novirza uz citu lapu, parasti lietotājam neredzami (adrešu joslas izmaiņas), jūs varat ievietot šādu kodu .htaccess:
RewriteEngine On
RewriteRule. * Http://newsite.ru/ [L, R = pastāvīgs]
Šeit pirmajā rindā ir mod_rewrite moduļa mehānisms, kam ir atļauts kaut ko darīt ar adresēm. Aicināsim šo URL konvertēšanu ar nosacījumiem lidojumā. Otrajā rindā tieši definēts konvertēšanas noteikums, iepriekš minētajā piemērā visi pieprasījumi tiks novirzīti uz http://newsite.ru/. Karogi tiek ievietoti kvadrātiekavās: L - pēdējais (pēdējais) noteikums, R - novirzīšanas veids (Pārvirzīšana), kas norādīts kā R = kods, kur kods ir alfabēta vai ciparu apzīmējums (pastāvīgs vai 302).

Faktiski mod_rewrite ir ļoti noderīga lieta, jo tieši tāpēc daudzi dzinēji aktīvi izmanto tā saukto CNC (cilvēka URL saprotams). Ja jūs nepazīstat šo terminu, es ar piemēru paskaidrošu. Raksts par bezmaksas dzinēji ir adrese: https://a-panov.ru/2014/11/free-cms/

Aplūkojot šo URL, ir skaidrs, ka raksts tika publicēts 2014. gada novembrī. Noņemot virsrakstu ar aizmugurējo slīpsvītru - https://a-panov.ru/2014/11/ - mēs saņemsim sarakstu ar visu novembra publikāciju. Parastās adreses, tips:

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

nav īpašas draudzības. Redzot šādu adresi, jūs nevarat teikt par lapu, kurā viņš vada, absolūti neko.

Šī metode ir laba, ja jums nav rūpes par to, kura jaunās vietnes lapa ir saistīta. Bet, ja esat pārcēlies uz citu domēnu, ieteicams novirzīt visus pieprasījumus, saglabājot adreses. Lai to izdarītu, izmantojiet šādu kodu:
RewriteRule ^. * $ Http://newsite.ru/$0 [QSA, L, R = pastāvīgs]
Jaunais QSA karogs arī saglabās parametrus, kas pēc jautājuma zīmes atrodas adresēs. Jau pazīstamajā piemērā:

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

ja kodu novietoju iepriekš .htaccess, tad būs novirzīšana uz adresi http://newsite.ru/?p=389, kas bez šī karoga nepastāvētu.

Turpmāk es izlaidīšu direktīvu par pārveidošanas iekļaušanu:
RewriteEngine On
vienkārši atcerieties: ja izmantojat mod_rewrite mehānismu, tad visi nosacījumi / reklāmguvumi ir jāveic pēc šīs direktīvas. Lai atspējotu šādu rindu:
RewriteEngine Off
attiecīgi, katram noteikumam nav nepieciešams pastāvīgi „ieslēgt” transformācijas - tas sākas automātiski, tūlīt pēc pirmās direktīvas.

Kā iestatīt novirzīšanu uz www (vai bez www)

Šādas pāradresācijas ir nepieciešamas gadījumos, kad vietne ir pieejama opcijās nsite.ru un www.nsite.ru, šajā gadījumā meklētājprogrammas tos uzskata par dublikātiem un var izvēlēties kādu no opcijām kā galvenais spogulis , vai meklēšanā būs opcijas no abiem domēniem. Kopumā tas ir negatīvs faktors vietnes vērtējumā.

Vienam domēnam ir vieglāk. Pāradresācija tiek veikta no apakšdomēna www.site.ru uz vietni.ru:
RewriteCond% {HTTP_HOST} ^ www vietne .ru $
RewriteRule. * Http://nsite.ru/$0 [QSA, L, R = pastāvīgs]
Tajā parādījās jaunā RewriteCond direktīva, kas nosaka nosacījumu, kādā pārvirzīšanas darbosies - RewriteRule noteikumi. Stāvoklis, šajā gadījumā domēna vārds, kas atbilst www.nsite.ru (regulāros izteiksmes punktos simbols nozīmē "jebkura rakstura", tāpēc ieteicams to pasargāt ar slīpsvītru).

Reversā novirzīšana ir ļoti vienkārša:
RewriteCond% {HTTP_HOST} ^ vietne \ t
RewriteRule. * Http://www.nsite.ru/$0 [QSA, L, R = pastāvīgs]
Abas iespējas darbojas, bet tām ir neliels mīnuss - katrai jaunajai konfigurācijai nepieciešams nomainīt nsite.ru domēnu ar savu. Vai ir iespējams izveidot unikālu iespēju? Viegli!

Novirzīt no jebkuras www apakšdomēna:
RewriteCond% {HTTP_HOST} ^ www (. *) $
RewriteRule. * Http: //% 1 / $ 0 [QSA, L, R = pastāvīgs]

Novirzīt uz apakšdomēnu, izmantojot vietni www:
RewriteCond% {HTTP_HOST}! ^ Www \ t
RewriteRule. * Http: //www.% {HTTP_HOST} / $ 0 [QSA, L, R = pastāvīgs]

% {HTTP_HOST} - pašreizējais domēns

Kā izveidot .htaccess

Šādi jautājumi rodas arī. Problēma ir tā, ka standarta Explorer (Windows lietojumprogramma, kas atbild par grafisko interfeisu) neļauj izveidot failus, kas sākas ar punktu (izveidojot failus vai mapes, ar peles labo pogu noklikšķinot uz darbvirsmas vai logā, un atlasot vēlamo darbību no saraksta Izveidot ). Bet ir izeja: atveriet standarta Notepad ierakstītāju, izvēlnē atlasiet File → Save as ... un saglabājiet faila nosaukumu .htaccess - pēc tam tas tiks izveidots.

.Htaccess fails nedarbojas

Ir gadījumi, kad dokumenti no faila nedarbojas. Parasti to izraisa tas, ka .htaccess atbalsts ir atspējots Apache konfigurācijā, par kuru direktīva ir atbildīga:
AllowOverride neviens

Tas parasti tiek darīts, lai nedaudz palielinātu ātrumu - šajā gadījumā tīmekļa serveris neveic meklēšanu.

Iespējams, ka serverī Apache netiek izmantots, piemēram, IIS ir galvenais “viesis” Windows hostēšanā. Lai iegūtu skaidrojumu, sazinieties ar sava hostera atbalstu.

Vai nginx ir .htaccess analogs?

Vēl viens diezgan bieži sastopams jautājums. Šajā tīmekļa serverī tas nav iespējams. Tomēr tas parasti nav vajadzīgs. Fakts ir tāds, ka nginx parasti tiek uzstādīts kā frondends, tas ir, tas pieņem un apstrādā visus pieprasījumus, kurus tas veic pats vai novirza uz backend, ko var veikt Apache, ko var tālāk konfigurēt, izmantojot .htaccess.

Izdevējs

nav tiešsaistē 1 diena

x64 (aka andi)

Komentāri: 2834 Publikācijas: 394 Reģistrācija: 02-04-2009

Htaccess analogs?
Neponyatki var radīt šo numuru - kāpēc ir 301?
Ru/?
Ru/?
Ru/?
Vai ir iespējams izveidot unikālu iespēju?
Htaccess analogs?
Провайдеры:
  • 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 Гбит / сек... 
    Читать полностью