GNU/Linux >> Znalost Linux >  >> Panels >> cPanel

Jak nastavit pravidla a přesměrování v .htaccess

Jak nastavit pravidla a přesměrování v .htaccess

.htaccess je konfigurační soubor na úrovni adresáře podporovaný webovým serverem Apache. Používá se ke změně konfigurace webového serveru (povolení nebo zakázání dalších funkcí) pro konkrétní účet beze změny globálního nastavení serveru.

Soubor .htaccess platí v celém adresáři, ve kterém je umístěn, včetně všech soubory a podadresáře. Změny provedené v tomto souboru budou implementovány okamžitě a není vyžadován žádný restart serveru.


Jak najít soubor .htaccess
Seznam běžně používaných pravidel .htaccess:
  • Autorizace/ověření 
  • Blokování 
  • Vlastní chybové stránky 
  • Mod_Rewrite (pravidla přesměrování)
  • Změna kořenového adresáře domény
Deaktivace stávajících pravidel .htaccess


Chcete-li získat přístup k hlavnímu souboru .htaccess svého hostitelského účtu, postupujte takto:

1. Přihlaste se do svého cPanelu .
2. Přejděte do sekce Soubory>> Správce souborů :



3. Pokud chcete upravit soubor .htaccess pro svou hlavní doménu, přejděte na public_html složka. Pokud potřebujete provést nějaké změny v doméně addonu, přejděte na public_html/youraddondomain.com složka.

Jakmile tam budete, ujistěte se, že Zobrazit skryté soubory (dotfiles) možnost je povolena v Nastavení menu:



4. Vyhledejte .htaccess klikněte pravým tlačítkem na>> Upravit :



5. Pokud se ve správci souborů nenachází žádný soubor .htaccess, můžete si vytvořit nový pomocí Soubor možnost:



Jste připraveni přidat svá vlastní konfigurační pravidla a uložit je.



Obvyklé použití pravidla pro soubor .htaccess jsou uvedena níže:


Autorizace/ověření – určuje bezpečnostní omezení pro adresář/podadresář.
Adresář nebo několik z nich můžete chránit heslem a kdykoli se do něj návštěvník pokusí vstoupit, bude vyžadováno uživatelské jméno a heslo.

K nastavení takové ochrany potřebujete:

1. Vytvořte adresář, který chcete chránit, v /home/cpanel_user/.htpasswds/ složka (např. pro public_html/test cesta bude .htpasswds/public_html/test/).
       

2. Vytvořte passwd soubor v tomto adresáři a přidejte hashované přístupové údaje pomocí tohoto online generátoru.

3. Přidejte do .htaccess následující direktivy:

AuthType Basic
AuthName "Directory Name"AuthUserFile "/home/cpanel_user/.htpasswds/public_html/test/passwd"require valid-user


Blokování – blokuje uživatele podle IP adresy nebo domény. Velmi užitečné je blokování nežádoucích návštěvníků nebo povolení přístupu k určitým sekcím webu například jeho vlastníkovi, administrační oblasti.
Chcete-li nastavit určitá pravidla blokování, vytvořte soubor .htaccess s následujícím textem:

  • povolit přístup všem ostatním a blokovat uživatele s X.X.X.X IP adresou

Vyžadovat vše uděleno
Nevyžadovat ip X.X.X.X

  • zablokovat všechny návštěvníky kromě konkrétních IP adres X.X.X.X a Y.Y.Y.Y

Vyžadovat vše odepřeno
Vyžadovat IP X.X.X.X
Vyžadovat IP Y.Y.Y.Y

POZNÁMKA: Nekombinujte zastaralé Povolit , Odmítnout a Objednat direktivy s novým Vyžadovat směrnice.

Vlastní chybové stránky – umožňuje vytvářet vlastní chybové stránky pro web. Tato možnost je velmi užitečná, protože vám umožňuje zobrazit návštěvníkům webu chybovou zprávu odpovídající tématu vašeho webu, pokud adresa URL na vašem webu nefunguje. To pomáhá vyhnout se například výchozí chybě „404 Soubor nenalezen“ a umožňuje vám zobrazit vlastní navrženou chybu s vodícími pokyny zpět do obsahu vašeho webu, aniž byste zůstali zmateni.
Nastavení vlastního dokumentu s chybami , vytvořte soubor .htaccess s následujícím textem níže:

ErrorDocument 404 /404.html

Kdykoli se objeví chyba 404 (File Not Found), tento řádek sdělí webovému serveru Apache, aby načetl soubor 404.html umístěný v kořenovém adresáři domény, pro kterou jste nastavili chybovou stránku.

POZNÁMKA :Chcete-li nastavit dokument pro jiné chyby (403, 500 atd.), stačí nahradit 404 odpovídajícím kódem chyby a /404.html cestou k chybovému souboru.


Mod_Rewrite – určuje, jak se webové stránky a adresy URL zobrazují návštěvníkům.

Rádi bychom vás upozornili na použití pravidel Mod_Rewrite v souboru .htaccess.

Ve výchozím nastavení Mod_Rewrite mapuje URL na cestu souborového systému. Lze jej však také použít k přesměrování jedné adresy URL na jinou adresu URL.

Před vytvořením přesměrování byste měli zvolit typ přesměrování, který je pro vás výhodnější:

  • Trvalé přesměrování má stavový kód 301 a na rozdíl od dočasného se ukládá do mezipaměti prohlížeče. Znamená to, že stránka byla přesunuta, a žádá všechny vyhledávače a uživatelské agenty přicházející na stránku, aby aktualizovaly adresu URL ve své databázi. Toto je nejběžnější typ přesměrování.
  • Dočasné přesměrování znamená, že stránka odesílá do prohlížeče stavový kód 302. Kód 302 říká prohlížeči, aby toto přesměrování neukládal do mezipaměti do svých uložených dat. Přesměruje návštěvníka nebo vyhledávač, ale vyhledávač bude nadále indexovat na původní stránku. Toto je doporučený typ přesměrování, pokud si nejste absolutně jisti, že jej nikdy v budoucnu nezměníte.

Seznam nejběžnějších a nejužitečnějších přesměrování, která lze nastavit prostřednictvím souboru .htaccess, naleznete níže (domény uvedené v příkladech by měly být nahrazeny vašimi vlastními):


Trvalé přesměrování z example.com na domain.com

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NEBO]
RewriteCond %{HTTP_HOST} ^www\.example\. com$
RewriteRule ^(.*)$ "http\:\/\/domain\.com/$1" [R=301,L]

Dočasné přesměrování z example.com na domain.com

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NEBO]
RewriteCond %{HTTP_HOST} ^www\.example\. com$
RewriteRule ^(.*)$ "http\:\/\/domena\.com\/" [R=302,L]

POZNÁMKA :Níže jsou uvedeny příklady trvalých přesměrování. Dočasné lze definovat nahrazením [R=301,L] za [R=302,L] na konci kódu (pokud je to nutné).


Přesměrovat z example.com/podsložka do domain.com

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NEBO]
RewriteCond %{HTTP_HOST} ^www\.example\. com$
RewriteRule ^subfolder/$ "http\:\/\/domain\.com\/" [R=301,L]


Přesměrování z HTTP na HTTPS for example.com

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule .* https://example.com%{REQUEST_URI} [R, L]

nebo

RewriteCond %{SERVER_PORT} 80      
RewriteCond %{HTTP_HOST} ^example\.com$ [NEBO]
RewriteCond %{HTTP_HOST} ^ www\.example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]


Přesměrování z jiných než WWW na WWW

  • pro jakoukoli doménu vstoupí .htaccess v platnost:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
  • pro určitou doménu, example.com:
RewriteEngine On     
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301, L]


Přesměrování z WWW na jiné než WWW
  • pro jakoukoli doménu vstoupí .htaccess v platnost:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301, L]

  • pro určitou doménu, example.com:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule (.*) http://example.com/$1 [R=301,L]

Přesměrujte všechny stránky example.com na odpovídající stránky domain.com
RedirectMatch 301 ^/(.*)$ http://domain.com/$1

POZNÁMKA :Názvy všech stránek se musí shodovat na obou doménách, jinak přesměrování povede na cílovém webu ke zprávě „Stránka nenalezena“.

Přesměrujte jednu stránku na novou adresu URL
Přesměrování 301 /old_page.html http://www.domain.com/new_page.html

POZNÁMKA :To může být užitečné, když chcete smazanou stránku přesměrovat na chybu 404 nebo pro účely SEO po aktualizacích odkazů na obsah.



Změní kořen adresáře pro hlavní doménu do public_html/podsložka

RewriteEngine na
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/podsložka/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /podsložka/$1
RewriteCond %{HTTP_HOST} ^(www.)? example.com$
RewriteRule ^(/)?$ podsložka/index.php [L]

POZNÁMKA :Soubor .htaccess by měl být umístěn v kořenovém adresáři domény, pro kterou chcete konfigurovat určitá pravidla.


Zakázání stávajících pravidel .htaccess

Pokud potřebujete některá ze stávajících pravidel deaktivovat, například pro účely testování, můžete je jednoduše okomentovat. Chcete-li tak učinit, přidejte znak libry # na začátku každého řádku pravidla.
Také je možné deaktivovat řádek nebo dokonce blok řádků jejich výběrem a pomocí Ctrl + / zkratka.




To je ono!


                      Potřebujete pomoc? Kontaktujte náš HelpDesk

Související články

Jak nastavit vnitřní ochranu pro .htaccess
cPanel
  1. Jak nastavit přesměrování domény v cPanel

  2. Jak omezit přístup na váš web pomocí .htaccess a cPanel IP Blocker

  3. Jak povolit ExecCGI přes soubor .htaccess?

  1. Jak nastavit vnitřní ochranu pro .htaccess

  2. Jak nastavit direktivy PHP pomocí .php.ini

  3. Jak nastavit soubor jako NENÍ spustitelný?

  1. Jak povolit a nastavit soubor .htaccess na Apache

  2. Co je to hezké jméno hostitele a jak jej nastavit

  3. Jak nastavit a spustit Kafka na Kubernetes