{"id":2711,"date":"2020-05-25T10:36:44","date_gmt":"2020-05-25T08:36:44","guid":{"rendered":"http:\/\/pomocdhosting.dkonto.pl\/?post_type=manual_kb&#038;p=2711"},"modified":"2023-07-05T16:30:22","modified_gmt":"2023-07-05T14:30:22","slug":"plik-htaccess","status":"publish","type":"manual_kb","link":"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/plik-htaccess\/","title":{"rendered":"Plik .htaccess"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-left counter-flat ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Spis tre\u015bci<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/plik-htaccess\/#Czym_jest_plik_htaccess\" >Czym jest plik .htaccess<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/plik-htaccess\/#Dlaczego_kropka_na_poczatku_nazwy_pliku\" >Dlaczego kropka na pocz\u0105tku nazwy pliku?<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/plik-htaccess\/#Do_czego_najczesciej_uzywamy_pliku_htaccess\" >Do czego najcz\u0119\u015bciej u\u017cywamy pliku .htaccess<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Czym_jest_plik_htaccess\"><\/span>Czym jest plik .htaccess<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Pierwotnym za\u0142o\u017ceniem wykorzystania pliku .htaccess, co sugeruje jego nazwa by\u0142o kontrolowanie dost\u0119pu do katalog\u00f3w folderu, w kt\u00f3rym si\u0119 znajduje. Obecnie jest on wykorzystywany g\u0142\u00f3wnie w celu nadpisywania domy\u015blnie zawartych w konfiguracji serwera, na przyk\u0142ad ustawie\u0144 PHP parametr\u00f3w oraz wskazania wykorzystania przez skrypty strony WWW regu\u0142, kt\u00f3rych celem b\u0119dzie przyk\u0142adowo przepisywanie link\u00f3w do postaci czytelnej i \u0142atwej do zapami\u0119tania.<\/p>\n<p><em>Nale\u017cy pami\u0119ta\u0107, \u017ce plik .htaccess i warto\u015bci w nim zawarte dzia\u0142aj\u0105 zar\u00f3wno dla plik\u00f3w w katalogu, w kt\u00f3rym si\u0119 znajduje, ale r\u00f3wnie\u017c analogicznie podlegaj\u0105 mu wszelkie pliki znajduj\u0105ce si\u0119 w kolejnych katalogach w strukturze. Dzieje si\u0119 to do momentu a\u017c w danym katalogu znajduj\u0105cym si\u0119 ni\u017cej w strukturze znajdzie si\u0119 kolejny plik .htaccess i odwo\u0142a \/ zmieni regu\u0142y ustalone w tym obecnym wy\u017cej.<\/em><\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">.\/\n\u251c\u2500\u2500 twoje-pliki\/\n\u251c\u2500\u2500 domena.pl\/\n\u2502   \u251c\u2500\u2500 awstats\/\n\u2502   \u251c\u2500\u2500 public_html\/\n\u2502        \u251c\u2500\u2500 .htaccess (obejmuje foldery i katalogi w public_html)\n\u2502        \u251c\u2500\u2500 obrazy\/\n\u2502        \u251c\u2500\u2500 style\/\n\u2502        \u2514\u2500\u2500 pliki\/\n\u2502             \u251c\u2500\u2500 .htaccess (nadpisuje regu\u0142y z pliku zamieszczonego w public_html)\n\u2502             \u251c\u2500\u2500 katalog1\/\n\u2502             \u2514\u2500\u2500 katalog2\/<\/code><\/pre>\n<div id=\"dhost-2668761977\" class=\"dhost-inpost dhost-entity-placement\"><a href=\"https:\/\/dhosting.pl\/opieka-stron.html?utm_source=pomoc&utm_medium=artykul&utm_campaign=pomoc\" target=\"_blank\">\r\n\t<img decoding=\"async\" src=\"https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2025\/01\/baner-opieka.png\" alt=\"opieka stron www\">\r\n<\/a>\r\n<br \/>\r\n<br \/><\/div><h2><span class=\"ez-toc-section\" id=\"Dlaczego_kropka_na_poczatku_nazwy_pliku\"><\/span>Dlaczego kropka na pocz\u0105tku nazwy pliku?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>W systemach linuxowych, a na takich opiera si\u0119 wi\u0119kszo\u015b\u0107 serwer\u00f3w dzia\u0142aj\u0105cych w internecie, kropka na pocz\u0105tku pliku lub katalogu oznacza, \u017ce ma to by\u0107 element ukryty. Dlatego te\u017c bardzo cz\u0119sto podczas po\u0142\u0105czenia si\u0119 za po\u015brednictwem FTP z serwerem plik .htaccess nie jest widoczny. Nale\u017cy wtedy upewni\u0107 si\u0119, \u017ce w ustawieniach widoku listy plik\u00f3w oraz katalog\u00f3w w aplikacji klienta FTP (np. FileZilla &#8211; informacje jak skonfigurowa\u0107 aplikacj\u0119 znajdziesz <a href=\"http:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/konfiguracja-programu-filezilla-client-3-5-3\/\">TUTAJ<\/a>) mamy aktywn\u0105 opcj\u0119 pokazywania element\u00f3w ukrytych.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Do_czego_najczesciej_uzywamy_pliku_htaccess\"><\/span>Do czego najcz\u0119\u015bciej u\u017cywamy pliku .htaccess<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Plik .htaccess jak wspomnieli\u015bmy na pocz\u0105tku s\u0142u\u017cy g\u0142\u00f3wnie zmianie parametr\u00f3w konfiguracji serwera oraz ustalaniu regu\u0142 przepisywania link\u00f3w, tak wi\u0119c mo\u017cesz go wykorzysta\u0107 m.in. w poni\u017cszych sytuacjach:<\/p>\n<h3>W\u0142asne strony b\u0142\u0119d\u00f3w<\/h3>\n<p>W przypadku, gdy serwer WWW z r\u00f3\u017cnych przyczyn nie mo\u017ce zrealizowa\u0107 \u017c\u0105dania u\u017cytkownika, to zamiast docelowej strony generowana jest informacja o b\u0142\u0119dzie.<\/p>\n<p>List\u0119 zg\u0142aszanych przez nasz system b\u0142\u0119d\u00f3w wraz z ich opisami znajd\u0105 Pa\u0144stwo pod pozycj\u0105 B\u0142\u0119dy HTTP.<\/p>\n<p>Przy pomocy pliku .htaccess mo\u017cemy zdefiniowa\u0107 w\u0142asne, niezale\u017cne od systemowych, strony obja\u015bniaj\u0105ce zaistnia\u0142\u0105 sytuacj\u0119.<\/p>\n<p>W tym celu wewn\u0105trz katalogu public_html naszej strony tworzymy folder o nazwie \/strony-bledow\/.<\/p>\n<p>W nim umieszczamy pliki z w\u0142asn\u0105 zawarto\u015bci\u0105 wy\u015bwietlan\u0105 w przypadku wygenerowania b\u0142\u0119du, zapisuj\u0105c je jako<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">&lt;kod_bledu.php&gt;<\/code><\/pre>\n<p>np.<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">403.php<\/code><\/pre>\n<p>dla komunikatu Brak dost\u0119pu.<\/p>\n<p>Tworzymy tak\u017ce wewn\u0105trz katalogu z naszymi stronami b\u0142\u0119d\u00f3w plik .htaccess o nast\u0119puj\u0105cej tre\u015bci:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">Allow from all \nSatisfy Any<\/code><\/pre>\n<p>Kolejnym krokiem b\u0119dzie utworzenie pliku .htaccess wewn\u0105trz katalogu public_html z nast\u0119puj\u0105c\u0105 sk\u0142adni\u0105 dla ka\u017cdego z b\u0142\u0119d\u00f3w:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">ErrorDocument &lt;kod_bledu&gt; \/strony-bledow\/&lt;kod_bledu&gt;.php<\/code><\/pre>\n<p>np.<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">ErrorDocument 401 \/strony-bledow\/401.php \nErrorDocument 403 \/strony-bledow\/403.php \nErrorDocument 404 \/strony-bledow\/404.php<\/code><\/pre>\n<p>Teraz po wygenerowaniu przez serwer wyj\u0105tku wy\u015bwietli si\u0119 przygotowana przez nas strona.<\/p>\n<h3>Strona startowa serwisu<\/h3>\n<p>Pe\u0142ny adres URL sk\u0142ada si\u0119 z nazwy domeny (1), nazwy poszczeg\u00f3lnych folder\u00f3w (2) i nazwy pliku docelowego (3), np.<\/p>\n<p>www.dhosting.pl\/pliki\/test.zip<br \/>\n(1) (2) (3)<\/p>\n<p>Jednak\u017ce przy braku zdefiniowanej ostatniej cz\u0119\u015bci, serwer WWW przeszukuje podany katalog pr\u00f3buj\u0105c znale\u017a\u0107 domy\u015blnie wy\u015bwietlany w takiej sytuacji plik.<\/p>\n<p>Na naszych serwerach automatycznie s\u0105 ustawione jako takie nazwy nast\u0119puj\u0105ce warto\u015bci:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">index.htm index.html index.cgi index.pl index.php index.php5 index.xhtml<\/code><\/pre>\n<p>Aby ustawi\u0107 w\u0142asn\u0105 list\u0119 b\u0105d\u017a kolejno\u015b\u0107 plik\u00f3w jako stron startowych nale\u017cy do pliku .htaccess doda\u0107 nast\u0119puj\u0105c\u0105 dyrektyw\u0119:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">DirectoryIndex &lt;nazwy plik\u00f3w oddzielone pojedyncz\u0105 spacj\u0105&gt;<\/code><\/pre>\n<p>Np.<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">DirectoryIndex index.html index.htm web.php index.php<\/code><\/pre>\n<h3 id=\"lista-plikow\">Wy\u015bwietlanie listy plik\u00f3w<\/h3>\n<p>Domy\u015blnie listowanie plik\u00f3w jest zablokowane. W przypadku gdy chcesz aby po wywo\u0142aniu katalogu gdzie nie znajduje si\u0119 plik index.html lub index.php, by\u0142a wy\u015bwietlana lista plik\u00f3w z ca\u0142\u0105 zawarto\u015b\u0107 aktualnego katalogu, mo\u017cesz w pliku .htaccess dopisa\u0107 nast\u0119puj\u0105c\u0105 linijk\u0119:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">Options +Indexes<\/code><\/pre>\n<h3>Zmiana adresu stron<\/h3>\n<p>Czasami nast\u0119puje konieczno\u015b\u0107 zmiany adresu jakiej\u015b cz\u0119\u015bci serwisu.<\/p>\n<p>Przyk\u0142adowo, strona dzia\u0142u handlowego przeniesie si\u0119 z domeny www.firma.dhosting.pl\/handlowy\/ na www.handlowy.firma.dhosting.pl<\/p>\n<p>W takiej sytuacji Internauci u\u017cywaj\u0105cy starego adresu powinni zosta\u0107 przekierowani na nowy.<\/p>\n<p>Aby to uczyni\u0107, nale\u017cy utworzy\u0107 plik .htaccess w folderze ze star\u0105 zawarto\u015bci\u0105 z nast\u0119puj\u0105c\u0105 tre\u015bci\u0105:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">Redirect &lt;adres wzgl\u0119dny starej strony&gt; &lt;adres nowej strony&gt;<\/code><\/pre>\n<p>np.<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">Redirect \/handlowy\/ http:\/\/www.handlowy.firma.dhosting.pl\n<\/code><\/pre>\n<p>Dodatkowy odr\u0119bny przewodnik w tej kwestii znajdziesz <a href=\"http:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/przekierowanie-domeny-na-inny-adres-www-htaccess-redirect-301\/\">TUTAJ<\/a><\/p>\n<h3>Blokowanie hotlinkowania zasob\u00f3w<\/h3>\n<p>Otwarto\u015b\u0107 sieci Internet umo\u017cliwia tak\u017ce dzia\u0142ania nieuczciwe, r\u00f3wnie\u017c w zakresie tworzenia stron www. Ile to razy zdarza\u0142o si\u0119, \u017ce Pa\u0144stwa fotografia zosta\u0142a ukradziona i wykorzystana bez pozwolenia. Na dodatek zdj\u0119cie nie zosta\u0142o nawet skopiowane, tylko jest pobierane z Pa\u0144stwa serwisu.<\/p>\n<p>Aby zapobiec takim sytuacjom, mo\u017cna w prosty spos\u00f3b zablokowa\u0107 mo\u017cliwo\u015b\u0107 hotlinkowania \u2013 bo tak nazywa si\u0119 wykorzystywanie zasob\u00f3w z innych serwer\u00f3w bez pozwolenia. Nale\u017cy utworzy\u0107 plik .htaccess (lub u\u017cy\u0107 istniej\u0105cego) i zamie\u015bci\u0107 w nim tak\u0105 regu\u0142k\u0119:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">RewriteEngine On #ten wiersz powinien wyst\u0105pi\u0107 tylko raz, je\u017celi ju\u017c jest - mo\u017cna go pomin\u0105\u0107 \nRewriteCond %{HTTP_REFERER} !^$ \nRewriteCond %{HTTP_REFERER} !^http:\/\/(.+.)?firma.pl [NC] \nRewriteRule ^obrazy\/.*.(jpe?g|gif|bmp|png)$ - [NC,F]<\/code><\/pre>\n<p>Taka regu\u0142ka nie pozwoli wy\u015bwietli\u0107 na stronie innej ni\u017c firma.pl plik\u00f3w graficznych z katalogu \/obrazy\/. Mo\u017cna doda\u0107 tak\u017ce okre\u015blone \u201czaprzyja\u017anione\u201d strony, kt\u00f3rym zezwolili\u015bmy na korzystanie z naszych zasob\u00f3w. Nale\u017cy powieli\u0107 3 wiersz, i wpisa\u0107 tam odpowiedni\u0105 domen\u0119 \u201czaprzyja\u017anionej\u201d strony. Jednocze\u015bnie skrypt ten pozwala wy\u015bwietla\u0107 obrazki, je\u017celi kto\u015b wpisze jego adres bezpo\u015brednio do przegl\u0105darki.<\/p>\n<p>Je\u017celi jaki\u015b obraz zostanie hotlinkowany, nasz serwer www zwr\u00f3ci b\u0142\u0105d 403 \u2013 Brak dost\u0119pu i obrazek si\u0119 nie wy\u015bwietli.<\/p>\n<h3>Zabezpieczenie katalogu has\u0142em<\/h3>\n<p>Mo\u017cesz w ten spos\u00f3b zabezpieczy\u0107 katalog przed dost\u0119pem os\u00f3b niepowo\u0142anych okre\u015blaj\u0105c list\u0119 u\u017cytkownik\u00f3w, kt\u00f3rzy korzystaj\u0105c z loginu oraz has\u0142a taki dost\u0119p uzyskaj\u0105.<\/p>\n<p>Przewodnik jak to wykona\u0107 znajdziesz <a href=\"http:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/podstawowe-zabezpieczenie-folderu-przed-dostepem-htpasswd\/\">TUTAJ<\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"author":6,"featured_media":10957,"parent":0,"menu_order":0,"template":"","format":"standard","manualknowledgebasecat":[95,109],"manual_kb_tag":[233,655,235,232,237,236,3517,234,3516,238],"class_list":["post-2711","manual_kb","type-manual_kb","status-publish","format-standard","has-post-thumbnail","hentry","manualknowledgebasecat-hosting","manualknowledgebasecat-strony-www","manual_kb_tag-co-to-jest-htaccess","manual_kb_tag-hosting","manual_kb_tag-hotlinkowanie","manual_kb_tag-htaccess","manual_kb_tag-indexes","manual_kb_tag-lista-plikow","manual_kb_tag-polski-hosting","manual_kb_tag-przekierowania","manual_kb_tag-web-hosting","manual_kb_tag-wlasne-strony-bledow"],"_links":{"self":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/2711","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb"}],"about":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/types\/manual_kb"}],"author":[{"embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/users\/6"}],"version-history":[{"count":0,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/2711\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/media\/10957"}],"wp:attachment":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/media?parent=2711"}],"wp:term":[{"taxonomy":"manualknowledgebasecat","embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manualknowledgebasecat?post=2711"},{"taxonomy":"manual_kb_tag","embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb_tag?post=2711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}