Preusmjeravanje Htaccess i konfiguriranje

.htaccess datoteke mogu se nalaziti u korijenskom imeniku stranice (na primjer, / home / user / sitename /)

ili njezinih poddirektorija. Koriste se za organiziranje preusmjeravanja posjetitelja iz jedne domene ili dokumenta na vašem web poslužitelju. Svaka .htaccess datoteka sadrži skup pravila (direktiva) prema kojima web poslužitelj preusmjerava korisnika na određenu stranicu.

Mnogi sustavi za upravljanje sadržajem preuzima postavke preusmjeravanja stranice iz .htaccess. Možete urediti datoteke koje je izradio vaš CMS unosom novih direktiva za preusmjeravanje ili ručno izradom vlastitih .htaccess datoteka.

preusmjeriti htaccess

Izrada .htaccess datoteke

Prvi korak u postavljanju preusmjeravanja. Htaccess je u stvari stvaranje same datoteke. Vaš .htaccess bi trebao biti jednostavna tekstualna datoteka. To znači da je morate stvoriti u programu za uređivanje teksta koji može generirati obične (.txt) datoteke.

  • Na Windows računalu možete koristiti Notepad, koji je jedan od ugrađenih standardnih programa.
  • Na Mac računalu možete koristiti TextEdit. Najprije morate otvoriti izbornik "Postavke" u tekstualnom obliku i odabrati "Jednostavan tekst" u odjeljku "Novi dokument". Nakon toga možete pokrenuti postupak stvaranja novog TextEdit teksta za svoju .htaccess datoteku.
  • Na Linuxu, možete koristiti bilo koji od mnogih uređivanje teksta na raspolaganju za svoju distribuciju - kao konzole (VI, nano) i slike (na primjer, gedit).

Pri spremanju dokumenta svakako nazovite htaccess.txt. Ako ga jednostavno spremite kao .htaccess, računalo će sakriti datoteku. To je zato što datoteke koje počinju s točkom smatraju se datotekama sustava.

Preuzimanje .htaccess datoteke na poslužitelj

Za pravilno preusmjeravanje putem .htaccess datoteke potrebno je preuzimati točno u direktorij na poslužitelju za koji želite postaviti postavke preusmjeravanja. Obično je ovo vaš direktorij HTML datoteka (/var/www/vhosts/example.com/httpdocs/), iako ga možete prenijeti na bilo koji poddirektorij na svom poslužitelju.

Kada se datoteka učita, preimenujte ga izravno u .htaccess.

U ovom trenutku datoteka može postati nevidljiva vašem FTP klijentu, jer sada ima format datoteke sustava. mnogo FTP klijenti omogućuju prikaz skrivenih datoteka i mapa - preporučuje se omogućiti tu značajku. Upute o tome kako ga uključiti potražite u dokumentaciji klijenta.

Provjeravanje rada .htaccess

Najlakši način da provjerite obrađuje li vaš web poslužitelj vašu .htaccess datoteku je njena namjerna šteta.

Uredite .htaccess datoteku tako da prva crta počinje riječju Test:

test

# Postavi početnu stranicu

DirectoryIndex page.html page.txt ...

Sada, ako ponovno pokrenete glavnu stranicu svoje web stranice, vidjet ćete sljedeću pogrešku (na donjoj slici).

htaccess preusmjeravanje datoteka

Ako se pojavi ova pogreška, to je u stvari dobro - onda poslužitelj obradi vašu datoteku i čita direktive preusmjeravanja. Ako ne, provjerite je li datoteka i direktorij u kojem se nalazi nalaze čitljivi i, ako je potrebno, promijenite prava pristupa.

Malo o prioritetima preusmjeravanja .htaccess

.htaccess pravila su rekurzivni. To jest, direktive napisane u datoteci /home/user/sitename_html/.htaccess će se primijeniti na ovo imenik i na svoje dječje mape - osim u slučajevima kada se određeno pravilo poništi pomoću direktive u .htaccess datoteci koja se nalazi u imeniku djeteta.

Stoga postavke za preusmjeravanje putem .htaccess, koje daje datoteka na višoj razini, nadjačane su postavkama datoteka na nižim razinama. Na primjer, ako želite omogućiti preusmjeravanje za veliki dio svoje stranice, ali ga isključiti za određenu mapu, možete stvoriti zasebnu Htaccess s odgovarajućim postavkama i skinuti samo u ovaj direktorij.

Slično tome, niske razine .htaccess datoteke nadjačati PHP postavke u php.ini datoteke vhost.conf i na višim razinama, osim ako poništavanje nije izričito zabranjeno za te datoteke.

Naposljetku, redoslijed pravila preusmjeravanja .htaccessa u datoteci može imati vrijednost za određene vrste direktiva. Popis pravila obrađuje se redoslijedom od početka do krajnje direktive na početku datoteke će biti izvršena na prvom mjestu.

preusmjeriti htaccess

Preusmjeravanje .htaccess: osnovni prikazi

Postoje razne vrste preusmjeravanja koje se mogu izvršiti pomoću .htaccess datoteka. Mi ćemo ih analizirati i razmotriti svaki tip prije nego što naučimo kako ih koristiti.

301: preusmjeravanje na trajnoj osnovi

To je najčešći tip preusmjeravanja i, najvjerojatnije, onaj koji ćete najčešće konfigurirati. U datoteci .htaccess 301, preusmjeravanje stranice označava da se njegov stari URL (preusmjereni URL) više ne koristi.

302: Privremena preusmjeravanja

Preusmjeravanje 302 ukazuje da je stari URL stranice privremeno onemogućen, ali će uskoro biti obnovljen. Za Apache ovo pravilo preusmjeravanja koristi se prema zadanim postavkama.

Dakle, prije nego što konfigurirate .htaccess preusmjeravanje, morate odrediti je li redirekcija trajna ili privremena. Za primjere u ovom članku koristit ćemo preusmjeravanje 301.

preusmjeravanje putem htaccess

Primjeri scenarija preusmjeravanja

U nastavku su najčešći primjeri preusmjeravanja .htaccess.

Da biste koristili bilo koji od njih, morate otvoriti .htaccess datoteku koju ste stvorili s bilo kojim programom za uređivanje teksta i dodati joj potrebni uzorak koda.

Da bi kôd funkcionirao, modul ponovo pisanja (mod_rewrite) mora biti omogućen na Apache web poslužitelju. Da biste to učinili, morate izvršiti niz radnji, ovisno o OS-u.

U sustavu Windows učinite sljedeće:

  1. Pronađite i otvorite datoteku .http.conf. U imeniku je instaliran Apache.

  2. Izradite sigurnosnu kopiju http.conf, da biste vratili datoteku ako je potrebno, ako napravite bilo kakve pogreške.

  3. Pronađite liniju u datoteci #LoadModule rewrite_module moduli / mod_rewrite.so i isključite ga (uklonite # znak).

  4. Pronađite blok koji je priložen u oznakama i zamijenite ga Opcije sveAllowOverride sve.

  5. Pronađite sve reference "AllowOverride None" i zamijeniti ih posvuda "AllowOverride sve".

  6. Ponovno pokrenite web-poslužitelj i preglednik.

Na Linuxu je dovoljno izvršiti na terminalu:

sudo a2enmod prepisati

Ova naredba će pokrenuti modul ili će vas obavijestiti da je modul već pokrenut. Da biste aktivirali nove izmjene, ponovo pokrenite Apache s naredbom na terminalu:

sudo servis apache2 ponovo pokrenite

htaccess 301 preusmjeravanje stranice

Sad možemo početi uređivati ​​.htaccess datoteku i učiti najčešće direktive preusmjeravanja.

1. Preusmjeravanje s jedne stranice na drugu u .htaccess:

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

2. Preusmjeravanje mape (sa svim sadržajem):

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

3. Preusmjerite stranicu u .htaccess uklanjanjem WWW-a:

RewriteEngine On

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

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

4. Preusmjeravanje uz dodavanje WWW-a:



RewriteEngine On

RewriteCond% {HTTP_HOST}! ^ Www .samplehost .com $ [NC]

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

5. Preusmjeravanje na drugu domenu u .htaccessu (potpuno premještanje web stranice):

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

6 .htaccess-preusmjeravanje HTML datoteka u PHP datoteke:

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

7. Preusmjeravanje stranica uz dodavanje HTTPS-a:

Isključi RewriteCond% {HTTPS}

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

8. Zamijenite sva velika slova u URL malim slovima:

RewriteMap lc int: tolower

Ovaj isječak koda mora biti dodan u httpd.conf vašeg web poslužitelja. Nakon toga morate otvoriti .htaccess datoteku i dodati:

RewriteEngine On

RewriteCond% {REQUEST_URI} [A-Z]

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

9. Korištenje regularnih izraza. Pravila preusmjeravanja često sadrže znakove koji se dodaju u regularne izraze. Zahvaljujući tome, poslužitelj točno zna što želite promijeniti u URL-u. Međutim, uobičajeni izrazi mogu biti teško razumljivi na prvi pogled. Evo nekoliko uobičajenih elemenata koje možete vidjeti i upotrebljavati u pravilima ponovnog pisanja URL-ova, kao i specifične primjere njihove upotrebe:

  • ^: početak zamijenjenog niza;

  • $: kraj zamijenjenog niza.

primjer: regularni izraz ^ folder1 $ Ona daje signal za pronalaženje i zamjenu teksta «FOLDER1» unutar veze.

  • . : bilo koji znak koji nije prostor (na primjer, a, B, 3) -

  • *: označava da se prethodni tekst može ponoviti bilo koji broj puta;

primjer: regularni izraz ^ uploadova. * $ omogućuje zamjenu teksta «Uploads2009»,«Uploads2010» i tako dalje;

Regularni izraz ^. * $ znači "pronaći nešto". Korisno je u slučaju da ne znate da korisnik može unijeti URL u tekst.

  • (): odaberite tekst koji bi trebao biti korišten u pravilu kao vrijednost od $ 1. To je nužno, primjerice, za obradu zahtjeva za određene datoteke, koje moraju biti jednake i za staru i novu verziju URL-a.

ne radi htaccess preusmjeravanje

Pogreška 404 nije pronađena

Ponekad se dogodi da se prilikom postavljanja preusmjeravanja pojave pogreške. Razmotrimo glavne razloge zbog kojih preusmjeravanje .htaccess možda neće funkcionirati.

Uobičajena pogreška je pogreška 404 nije pronađena prilikom preusmjeravanja. U tom slučaju morate pažljivo pregledati URL formiran u adresnoj traci. Postoji li datoteka na novom mjestu na poslužitelju navedenom pravilom prosljeđivanja? Možda ćete morati kopirati datoteke iz svog starog mjesta na novo mjesto, ili da pravilo prosljeđivanje šire da u nedostatku željene datoteke na link preusmjerava na glavnoj stranici.

Ako je URL jednostavno netočan (na primjer, https://example.com/folder1//file.html - obratite pažnju na dvije kose), morate izmijeniti sintaksu pravila preusmjeravanja.

Beskonačni URL, timeout ili petlja

Ako u nastajanju u URL za preusmjeravanje-adresa je predugo, predugo se stranica ne učita, ili vaš preglednik daje poruku o pogrešci preusmjeravanje je vjerojatno da će preusmjeriti neke od sukoba pravila jedni s drugima.

Potrebno je provjeriti cijelu .htaccess datoteku za pravila preusmjeravanja koja se mogu podudarati s drugim pravilima. Možda ćete također trebati provjeriti .htaccess datoteke u poddirektorijima. Imajte na umu da FTP neće prikazivati ​​.htaccess datoteke osim ako omogućite opciju za pregled skrivenih datoteka i mapa.

Osim toga, možete uključiti preusmjeravanja unutar HTML i PHP stranica. Provjerite stranicu s kojom se problem pojavljuje za interne preusmjeravanje.

dodatak [L] nakon što pravilo preusmjeravanja može pomoći u nekim slučajevima, budući da ova zastava naredbi poslužitelju da prestane pokušavati preusmjeriti URL nakon primjene pravila.

Kako napraviti preusmjeravanje bez .htaccess

preusmjeravanje na drugu htaccess domenu

U zaključku, pogledajmo kako preusmjeriti URL bez uređivanja .htaccess datoteke, koristeći poslužitelj virtualnog poslužitelja Apache. Usput, ova metoda je jednostavnija od sastavljanja pravila za preusmjeravanje stranica za .htaccess.

Otvorite konfiguracijsku datoteku vhost (httpd.conf) s uređivačem teksta, koji se obično nalazi u direktorij / etc / apache2 / sites / sitename.

Odabrani fragment datoteke uzorka prikazuje preusmjeravanje:

ServerName mysite.com

ServerAlias ​​mysite.com

Preusmjeravanje / https://mysite.com

Gornja konfiguracija preusmjerava sve zahtjeve domene bez poddomene

Da biste preusmjerili sve zahtjeve na domenu s poddomenom WWW, promijenite konfiguraciju kao što je prikazano u nastavku.

ServerName anywebsite.com

ServerAlias ​​anywebsite.com

Preusmjeravanje / https://anywebsite.com

Ponovo pokrenite Apache i web mjesto će se ispravno preusmjeriti. Gore navedena metoda je najjednostavnija, a lakše je implementirati od preusmjeravanja s jedne stranice na drugu u htaccess.

Dijelite na društvenim mrežama:

Povezan
Kako napraviti HTTPS vezu? Koja je razlika između web-lokacija na usluzi HTTPS ili HTTP?Kako napraviti HTTPS vezu? Koja je razlika između web-lokacija na usluzi HTTPS ili HTTP?
Kako napraviti CNC veze: korak-po-korak uputeKako napraviti CNC veze: korak-po-korak upute
SQL datoteku. SQL format datoteke: opis proširenjaSQL datoteku. SQL format datoteke: opis proširenja
Kako preusmjeriti s HTTP-a na https i zašto je to potrebno?Kako preusmjeriti s HTTP-a na https i zašto je to potrebno?
Format DOCM - nego otvoriti takve datoteke?Format DOCM - nego otvoriti takve datoteke?
Što je pogreška 500 unutarnjeg poslužitelja? Što ako ste vidjeli natpis "Internal Internal…Što je pogreška 500 unutarnjeg poslužitelja? Što ako ste vidjeli natpis "Internal Internal…
Pogreška interna pogreška poslužitelja - rješenje i uputePogreška interna pogreška poslužitelja - rješenje i upute
Kako konfigurirati preusmjeravanje 301 putem .htaccess. Pravi stav kao preusmjeravanje 301 u Joomla…Kako konfigurirati preusmjeravanje 301 putem .htaccess. Pravi stav kao preusmjeravanje 301 u Joomla…
HTML preusmjeravanje: kontrola protoka posjetiteljaHTML preusmjeravanje: kontrola protoka posjetitelja
Htaccess (kodiranje): postavka, primjeri upotrebeHtaccess (kodiranje): postavka, primjeri upotrebe
» » Preusmjeravanje Htaccess i konfiguriranje
LiveInternet