OqPoWah.com

Preusmeritev Htaccess in konfiguriranje

Datoteke .htaccess se lahko nahajajo v korenskem imeniku spletnega mesta (na primer, / home / user / sitename /)

ali njegove podimenike. Uporabljajo se za organiziranje preusmeritve ("preusmeritev") obiskovalcev iz ene domene ali dokumenta na vašem spletnem strežniku v drugega. Vsaka datoteka .htaccess vsebuje niz pravil (direktiv), v skladu s katerimi spletni strežnik preusmeri uporabnika na določeno stran.

Veliko sistemov za upravljanje vsebine prevzame nastavitve preusmeritve spletnega mesta iz .htaccess. Datoteke, ki jih je ustvaril vaš CMS, lahko urejate tako, da vnesete nove direktive za preusmeritev ali ustvarite svoje datoteke .htaccess ročno.

preusmeri htaccess

Ustvarjanje. Htaccess datoteke

Prvi korak pri nastavitvi preusmeritve. Htaccess je pravzaprav ustvarjanje datoteke samega. Vaša .htaccess mora biti preprosta besedilna datoteka. To pomeni, da ga morate ustvariti v programu za urejanje besedila, ki lahko ustvari datoteke z navadnim besedilom (.txt).

  • V računalniku z operacijskim sistemom Windows lahko uporabite Notepad, ki je eden od vgrajenih standardnih programov.
  • Na Macu lahko uporabite TextEdit. Najprej morate v programu TextEdit odprati meni »Nastavitve« in v razdelku »Nov dokument« izberite »Preprosto besedilo«. Nato lahko začnete postopek ustvarjanja novega besedilnega dokumenta TextEdit za datoteko .htaccess.
  • V Linuxu lahko uporabite katerikoli od mnogih urejevalnikov besedil, ki so na voljo za vašo distribucijo - konzolo (vi, nano) in grafiko (na primer, gedit).

Pri shranjevanju dokumenta imejte htaccess.txt. Če ga shranite preprosto kot .htaccess, bo vaš računalnik skril datoteko. To je zato, ker se datoteke, ki se začnejo s točko, štejejo za sistemske datoteke.

Prenos datoteke .htaccess v strežnik

Za pravilno preusmeritev prek datoteke .htaccess morate datoteko prenesti natančno v imenik na strežniku, za katerega želite nastaviti nastavitve preusmerjanja. Običajno je to vaš imenik datotek HTML (/var/www/vhosts/primer.com/httpdocs/), čeprav ga lahko naložite v poljuben podimenik na vašem strežniku.

Ko je datoteka naložena, jo preimenujte neposredno v .htaccess.

Na tej točki lahko datoteka postane nevidna za vašega FTP odjemalca, saj ima zdaj format sistemske datoteke. Mnogi FTP odjemalci vam omogočajo ogled skritih datotek in map - priporočamo, da to funkcijo omogočite. Za navodila o tem, kako jo vklopite, si oglejte dokumentacijo vaše stranke.

Preverjanje dela .htaccess

Najpreprostejši način preverjanja, ali vaš spletni strežnik obdeluje datoteko .htaccess, je njegova namerna poškodba.

Uredite .htaccess datoteko, tako da se prva vrstica začne z besedo Test:

Test

# Nastavi domačo stran

DirectoryIndex stran.html page.txt ...

Če ponovno zaženete glavno stran vaše spletne strani, se prikaže naslednja napaka (na spodnji sliki).

preusmeritev htaccess datoteke

Če pride do te napake, je to dejansko dobro - potem strežnik obdeluje vašo datoteko in od nje prebrati direktive za preusmerjanje. Če ne, se prepričajte, da sta datoteka in imenik, v katerem je nameščen, berljivi, in po potrebi spremenite pravice dostopa.

Malo o prednostnih nalogah preusmeritve .htaccess

Pravila .htaccess so rekurzivna. To pomeni, direktive, napisane v datoteki /home/user/sitename_html/.htaccess se bo uporabljalo za to katalog, in do svojih otroških map - razen v primerih, ko je določeno pravilo preklicano z direktivo v datoteki .htaccess, ki se nahaja v imeniku otroka.

Tako nastavitve preusmeritve prek .htaccess, ki jih poda datoteka na višji ravni, preglasijo nastavitve datotek na nižjih ravneh. Na primer, če želite omogočiti preusmeritev za velik del vaše spletne strani, ampak ga izklopite za določeno mapo, lahko ustvarite ločeno Htaccess z ustreznimi nastavitvami in jo naložite le ta imenik.

Podobno .htaccess datoteke nizko stopnjo preglasijo PHP nastavitve v php.ini datotek vhost.conf in na višjih ravneh, razen če se preglasitev ni izrecno prepovedano za te datoteke.

Nazadnje, vrstni red pravilnika za preusmeritev .htaccess v datoteki ima lahko vrednost za nekatere vrste direktiv. Seznam pravil se zaporedno obdeluje od začetka do končnih navodil na začetku datoteke najprej.

preusmeri htaccess

Preusmeritev .htaccess: osnovni pogledi

Obstajajo različne vrste preusmeritev, ki se lahko izvajajo s .htaccess datotekami. Analizirali jih bomo in preučili vsako vrsto, preden bi se naučili, kako jih uporabiti.

301: stalno preusmerjanje

To je najpogostejša vrsta preusmeritve in, najverjetneje, tista, ki jo boste najpogosteje konfigurirali. V datoteki .htaccess 301 preusmeritev strani označuje, da se njegov stare URL (preusmerjeni URL) ne uporablja več.

302: Začasna preusmeritev

Preusmeritev 302 pomeni, da je stari URL strani začasno onemogočen, vendar bo kmalu obnovljen. Za Apache se to pravilo preusmeritve privzeto uporabi.

Preden konfigurirate .htaccess preusmeritev, morate ugotoviti, ali je preusmeritev trajna ali začasna. Za primere v tem članku bomo uporabili preusmeritev 301.

preusmeri skozi htaccess

Primeri preusmeritvenih scenarijev

Spodaj so najpogostejši primeri preusmeritve .htaccess.

Za uporabo katerega koli od njih morate odpreti datoteko .htaccess, ki ste jo ustvarili s katerimkoli urejevalnikom besedila, in ji dodajte zahtevan vzorec kode.

Če želite kodo delati, mora biti na spletnem strežniku Apache omogočen modul za ponovno pisanje (mod_rewrite). Če želite to narediti, morate opraviti več dejanj, odvisno od vašega operacijskega sistema.

V operacijskem sistemu Windows storite naslednje:

  1. Poiščite in odprite datoteko .http.conf. V imeniku, v katerega ste namestili Apache, je.

  2. Ustvarite varnostno kopijo http.conf, po potrebi obnovite datoteko, če naredite napake.

  3. Poiščite vrstico v datoteki Moduli #LoadModule rewrite_module / mod_rewrite.so in jo odložite (odstranite znak #).

  4. Poiščite blok, ki je priložen oznakam in jo zamenjajte Možnosti VseAllowOverride All.

  5. Poiščite vse reference "AllowOverride None" in jih povsod zamenjajte "AllowOverride Vse".

  6. Znova zaženite spletni strežnik in brskalnik.

Na Linuxu je dovolj, da ga izvedete v terminalu:

Sudo a2enmod prepisati

Ta ukaz bo sprožil modul ali vas bo obvestil, da se modul že izvaja. Če želite aktivirati nove spremembe, znova zaženite Apache z ukazom v terminalu:

storitev sudo apache2 ponovno zaženite

htaccess 301 preusmeritvena stran

Zdaj lahko začnemo urejati datoteko .htaccess in se učiti najpogostejših direktiv za preusmeritev.

1. Preusmerite z ene strani na drugo v .htaccess:

Preusmeri 301 /retiredpage.html https://example.com/newpage.html

2. Preusmeritev map (z vso vsebino):

RedirectMatch 301 ^ / olddir / https://yourdomain.com/newdir/

3. Preusmerite stran v .htaccess z odstranitvijo WWW:

RewriteEngine On

RewriteCond% {HTTP_HOST} ^ www .sitename .com $ [NC]

RewriteRule ^ (. *) $ Http://sitename.com/$1 [L, R = 301]

4. Preusmeritev z dodajanjem WWW:

RewriteEngine On




RewriteCond% {HTTP_HOST}! ^ Www .prizorišče .com $ [NC]

RewriteRule ^ (. *) $ Http://samplehost.com/$1 [L, R = 301]

5. Preusmerite na drugo domeno v .htaccess (premikate spletno mesto v celoti):

RedirectMatch 301 ^ (. *) $ Http://yoursite.com

6 .htaccess-preusmerjanje datotek HTML v datoteke PHP:

RedirectMatch 301 (. *) . Html $ http: //examplesite.com$1.php

7. Preusmerjanje strani z dodajanjem HTTPS:

Izklopi RewriteCond% {HTTPS}

RewriteRule (. *) Https: //% {SERVER_NAME} / $ 1 [R = trajno, L]

8. Zamenjajte vse velike črke v URL z malimi črkami:

RewriteMap lc int: tolower

Ta delček kode je treba dodati v httpd.conf vašega spletnega strežnika. Po tem morate odpreti datoteko .htaccess in dodati:

RewriteEngine On

RewriteCond% {REQUEST_URI} [A-Z]

RewriteRule. $ {lc:% {REQUEST_URI}} [R = 301, L]

9. Uporaba regularnih izrazov. Pravila za preusmeritev pogosto vsebujejo znake, ki se dodajajo regularnim izrazom. Zahvaljujoč temu strežnik natančno ve, kaj želite spremeniti v URL-ju. Vendar pa je na kratko težko razumeti regularne izraze. Tukaj je nekaj skupnih elementov, ki si jih lahko ogledate in uporabite v njihovih pravilih za ponovno prepisovanje URL-jev, pa tudi posebne primere njihove uporabe:

  • ^: začetek nadomeščenega niza;

  • $: konec nadomeščenega niza.

Primer: regularni izraz ^ mapo1 $ Podaja signal za iskanje in zamenjavo besedila «Folder1» znotraj povezave.

  • . : kateri koli znak, ki ni prostor (na primer, a, B, 3) -

  • *: označuje, da se lahko prejšnje besedilo ponovi večkrat;

Primer: regularni izraz ^ nalaganje. * $ vam omogoča zamenjavo besedila «Nalaganje2009»,«Uploads2010» in tako naprej;

Redni izraz ^. * $ pomeni "najti kaj." Koristen je, če ne veste, ali lahko uporabnik vnese URL v besedilo.

  • (): izberite del besedila, ki naj bi bil uporabljen v pravilu kot vrednost $ 1. To je potrebno, na primer, za obdelavo zahtev za določene datoteke, ki morajo biti enake tako za stare kot nove različice URL-ja.

ne deluje preusmeritev htaccess

Napaka 404 ni bila najdena

Včasih se zgodi, da pri nastavitvi preusmeritve pride do napak. Razmislimo o glavnih razlogih, zakaj preusmeritev .htaccess morda ne bo delovala.

Pogosta napaka je napaka 404 Ni ugotovljeno, ki se pojavi pri preusmeritvi. V tem primeru morate skrbno preučiti URL, ki je oblikovan v naslovni vrstici. Ali obstaja datoteka na novi lokaciji na strežniku, ki je določena s pravilom za posredovanje? Morda boste morali kopirati datoteke iz starega mesta na novo lokacijo ali narediti preusmeritveno pravilo širše, tako da če ni datoteke, ki jo potrebujete, je bila na spletno stran poslana povezava do glavne strani spletnega mesta.

Če je URL preprosto napačen (na primer, https://example.com/folder1//file.html - upoštevajte dve črtici), morate spremeniti sintakso pravila preusmeritve.

Neomejen URL, časovna omejitev ali zanke

Če se pojavljajo v preusmeritev URL-naslov predolgo, predolgo se stran ne naloži, ali vaš brskalnik daje sporočilo o napaki preusmeritev je lahko preusmerilo nekaj konflikta pravil s seboj.

Preveriti morate celotno datoteko .htaccess za pravila preusmeritve, ki se lahko ujemajo z drugimi pravili. Morda boste morali tudi preveriti datoteke .htaccess v podimeniki. Upoštevajte, da FTP ne bo prikazal .htaccess datotek, razen če omogočite možnost, da si ogledate skrite datoteke in mape.

Poleg tega lahko vključite preusmeritve znotraj strani HTML in PHP. Preverite stran, s katero se pojavi težava za notranje preusmeritve.

Dodajanje [L] ko lahko v nekaterih primerih pomaga preusmeritveno pravilo, ker ta zastava ukazuje strežniku, da preneha poskušati preusmeriti URL po uporabi pravila.

Kako narediti preusmeritev brez .htaccess

preusmeri na drugo htaccess domeno

Na koncu si oglejmo, kako narediti preusmeritev URL-jev brez urejanja datoteke .htaccess z gostiteljem Apache virtualnega strežnika. Mimogrede, ta metoda je lažja od sestavljanja pravil preusmeritve za strani v .htaccess.

Odprite konfiguracijsko datoteko vhost (httpd.conf) z urejevalnikom besedil, ki se navadno nahaja v imenik / etc / apache2 / sites / sitename.

Izbrani delček vzorčne datoteke prikazuje preusmeritev:

ServerName mysite.com

ServerAlias ​​mysite.com

Preusmerite / https://mysite.com

Zgornja konfiguracija preusmeri vse zahteve domene brez poddomene

Če želite vse zahteve preusmeriti na domeno s poddomeno WWW, spremenite konfiguracijo, kot je prikazano spodaj.

Ime strežnika anywebsite.com

ServerAlias ​​anywebsite.com

Preusmerite / https://anywebsite.com

Znova zaženite Apache in spletno mesto se bo pravilno preusmerilo. Zgornja metoda je najpreprostejša in jo je lažje izvajati kot preusmeritev z ene strani na drugo v htaccess.

Zdieľať na sociálnych sieťach:

Príbuzný