Podstawy .htaccess

Artykuł napisany przez:
  • Przewodniki hostingowe
  • Zaktualizowano: Jun 29, 2013

Zrozumienie pliku .htaccess serwera jest kluczowym komponentem projektowania i tworzenia stron WWW

Większość amatorskich klientów hostingowych i nowych twórców stron internetowych zakłada, że ​​najważniejszym elementem każdej instalacji serwera jest zainstalowane oprogramowanie. Gorąco instalują aplikacje oparte na ASP lub PHP, w nadziei na stworzenie zaawansowanej zawartości kontrolowanej przez popularne oprogramowanie i rozbudowane komórki i tabele bazy danych. Ale pośród tej fali aktywności prawie każdy programista początkowo ignoruje jeden z najważniejszych i najmocniejszych plików na samym serwerze. Plik ten jest znany jako plik ".htaccess" i kontroluje wszystko, od komunikatów o błędach po strony chronione hasłem, strukturę permalink do zablokowanych użytkowników, którzy nie widzą treści witryny.

Plik ".htaccess" domyślnie znajduje się w katalogu głównym serwera. Na serwerach Linux ten katalog jest prawie zawsze nazywany "public_html". Dla podfolderów, które muszą korzystać z mocy tego pliku, można umieścić dodatkowy plik ".htaccess" w każdym podfolderze i innym katalogu na samym serwerze. Każdy plik lub folder w katalogu z plikiem ".htaccess" dziedziczy uprawnienia i wytyczne tego pliku, chyba że zostanie on zastąpiony przez oddzielnie zakodowaną wersję pliku. Jeśli brzmi to skomplikowanie, dzieje się tak ze względu na umiarkowanie zaawansowaną technikę kontrolowania zachowania serwera. Nie można się jednak tego nauczyć. A gdy deweloper lub początkujący klienci hostingu dowiedzą się, jak kontrolować swój serwer za pomocą tego pliku, nie będą mogli wrócić do dni, w których plik ".htaccess" był uciążliwością, którą trudno było zrozumieć, nie mówiąc już o jej zatrudnieniu.

Ochrona hasłem Katalogi to Snap z plikiem .htaccess

Bezpieczeństwo serwera hostingowego to kwestia, którą analizuje niemal każdy klient, zanim zaangażuje się w jakąkolwiek firmę hostingową lub technologię serwerową. W przeważającej części, serwery Windows i Linux są równie bezpieczne, utrzymując informacje z dala od tych, którzy nie powinni ich mieć. Jest to jednak prawdą tylko w zakresie obrony przed hakerami i złośliwymi skryptami sieciowymi. Jeśli chodzi o ochronę określonych plików lub katalogów hasłem, cała praca musi być wykonana przy pomocy pliku .htaccess niezależnie od technologii serwera lub funkcji bezpieczeństwa.

Plik .htaccess ma swój unikalny styl ochrony tych katalogów, zgodnie z prostym językiem i technikami programowania. W tym przypadku użytkownik po prostu definiuje katalog, który ma być chroniony, a następnie ustawia wymagane parametry dostępu do tego katalogu w samym pliku. To hasło może odnosić się tylko do jednego pliku, do całego katalogu lub do całego serwera, gdy dostęp do niego odbywa się za pośrednictwem typowej przeglądarki internetowej. Prosta, jednoliniowa konfiguracja hasła do pliku lub katalogu wygląda jak przykład poniżej, gdy został całkowicie wypełniony i zainicjowany.

AuthUserFile /public_html/secure/files/.htpasswd
AuthGroupFile / dev / null
AuthName EnterPassword
AuthType Basic
wymagają użytkownika secureUser

Te linie kodu są sparowane z nowym plikiem o nazwie ".htpasswd". Ten plik znajduje się w katalogu, który jest zabezpieczony i zawiera nazwę użytkownika i hasło, które przyznają użytkownikom dostęp do chronionych informacji. W powyższym przykładzie określono, że tylko użytkownik "secureUser" może uzyskać dostęp do katalogu i musi wprowadzić wymagane hasło zgodnie z określeniem wiersza kodu "AuthName EnterPassword", który leży nieco powyżej użytkownika definicja.

W pliku ".htpasswd", który zostanie utworzony w chronionym katalogu, użytkownicy będą musieli dodać tylko jedną linię kodu. Format jest prosty; każda kombinacja użytkownika i hasła jest oddzielana za pomocą dwukropków. Oznacza to, że po prostu dodadzą plik "user: password". W tym przypadku na przykład jako "secureUser: secureirectoryypassword1". Spowoduje to zdefiniowanie wszystkich możliwych kodów dostępu i nazw użytkowników. Administratorzy witryny mogą z pewnością zawierać wielu użytkowników i hasła na tej liście, o ile usunie się "wymaganie użytkownika secureUser" z pliku ".htpasswd". Ewentualnie mogą one definiować wiele haseł dla tej samej nazwy użytkownika, zachowując ten wiersz kodu, zapewniając, że dostęp może być odwołany od niektórych osób lub grup w dowolnym momencie, jeśli prawidłowe hasło zostanie usunięte z pliku ".htpasswd".

Aby dowiedzieć się więcej na ten temat, przeczytaj: Używanie .htpasswd z kontem współdzielonego hostingu w systemie Linux.

Definiowanie łatwych do zapamiętania linków do treści witryny i stron statycznych

Jednym z najbardziej rozpowszechnionych obecnie zastosowań płodnego pliku ".htaccess" jest użycie parametrów pliku do zdefiniowania semantycznie łatwego "permalinki"w przypadku treści witryny i stron statycznych przy korzystaniu z oprogramowania do zarządzania treścią, takiego jak WordPress lub MovableType. Pomaga to nie tylko użytkownikom zapamiętać i przeładować zawartość witryny, ale także poprawia ranking witryn w najważniejszych wyszukiwarkach. Wyszukiwarki wykorzystują semantycznie przyjazne adresy URL do określenia jakie treści znajdują się na danej stronie i czy treść jest zgodna z adresem URL. Dopasowanie do tytułu w tytule wskazuje na większy autorytet i większe prawdopodobieństwo, że użytkownik znajdzie informacje, których szukał. główne wyszukiwarki wykorzystujące strukturę permalink.

Dla tych użytkowników, którzy zainstalowali WordPress na swoich serwerach witryny, poniższy wiersz jest dodawany podczas procesu instalacji prawie jako wymóg - szczególnie w przypadku nowszych wersji oprogramowania od wersji 3.0 i nowszych. Linia kodu wygląda dokładnie tak, jak w przykładzie poniżej i jest standardem dla ponad 60 milionów samodzielnie hostowanych klientów WordPress na całym świecie.

RewriteEngine On
RewriteBase /
RewriteCond% {REQUEST_FILENAME}!-F
RewriteCond% {REQUEST_FILENAME}!-D
RewriteRule. /index.php [L]

Ponownie łatwo jest zobaczyć strukturę programowania plików ".htaccess". Te kilka prostych linii kodu mówi serwerowi, aby użył pliku "index.php" WordPressa jako podstawy dla wszystkich adresów URL, które pochodzą z samego rozwiązania do zarządzania treścią. Używając tego pliku jako bazy i przepisując tytuły pozycji jako permalinki, przepisywanie URL zasadniczo łączy kwerendy bazy danych z uprawnieniami do pliku, aby utworzyć "przyjazne" adresy URL. Modyfikowanie pliku ".htaccess" w celu przepisania jego adresów URL jest obecnie wiodącym, jeśli nie jedynym, sposobem budowania przyjaznych adresów URL z rozwiązań do zarządzania treścią opartych na PHP i ASP.

Prowadzenie wyszukiwarek do niedawno przeniesionej zawartości lokalnie lub zdalnie

Podczas gdy permalinki zostały zaprojektowane w celu wyeliminowania procesu losowo przenoszonych treści i intensywnych przekierowań, nie wyeliminowały całkowicie problemu. Rzeczywiście, permalinkami można zarządzać w dowolnym panelu sterowania rozwiązania zarządzania treścią; w momencie, gdy użytkownik zmieni strukturę permalinka, wszystko, co znajduje się w zasięgu oprogramowania CMS, może zniknąć i spowodować błędy w wyszukiwarkach i użytkownikach. Można to wyeliminować jako problem z bardzo prostą linią kodu ".htaccess", która przekierowuje klientów i powoduje "niewidoczny" błąd w najważniejszych wyszukiwarkach. Kod jest następujący:

Przekieruj 301 / archive / / past-entries /

To przekierowanie umieszcza stare i nowe adresy URL obok starych adresów URL wymienionych wcześniej. Nakazuje serwerowi zgłoszenie błędu przekierowania 301 w przeglądarkach i wyszukiwarkach "pająki", ale ten błąd nigdy nie zostanie zauważony przez użytkownika końcowego. Zamiast tego, przekierowanie 301 jest niewidocznym błędem, który pojawia się za kulisami. Gdy użytkownik jest automatycznie przenoszony do nowej ścieżki i nowej treści, przeglądarka i wyszukiwarka rozumieją, że "301" oznacza "przeniesiony na stałe". Zarówno przeglądarka, jak i wszelkie wyszukiwarki, które napotkały ten błąd, natychmiast zaktualizują swoje rekordy, aby odzwierciedlały nowy adres URL, a następnie natychmiast usuwają stary.

To świetny sposób na przejście na nową nazwę domeny bez utraty klientów. Plik ".htaccess" na starym serwerze może być użyty do wskazywania treści na zupełnie nowej nazwie domeny z niewielką zmianą linii kodu, która została przedstawiona powyżej. Zamiast wskazywania dwóch względnych ścieżek na tym samym serwerze kod przekierowania 301 w tym przypadku wyglądałby następująco:

Przekieruj 301 / http://www.twoja-domena-domeny.com

To instruuje serwer, aby wysłał cokolwiek w katalogu głównym lub podfolderach do nowej nazwy domeny dokładnie tą samą ścieżką, co na starym serwerze. Wszystko, co się zmienia, to sama nazwa domeny. Ponownie, ponieważ używa kodu błędu 301, wyszukiwarki automatycznie aktualizują swoje rekordy, aby odzwierciedlały nową nazwę domeny. Jest to nie tylko doskonałe narzędzie do użyteczności, ale także zapobiega utracie rankingów w wyszukiwarkach. Zamiast zaczynać od początku, wyszukiwarki będą rozumiały, że jest to ta sama strona internetowa w nowej lokalizacji. Będą zachowywać swoją dawną percepcję i rankingi, a administrator odniesie znaczne korzyści z zastosowania tej unikalnej metody przemieszczania się między domenami.

Od niewidocznych błędów i przekierowań po rzeczywiste strony błędów dla odwiedzających witrynę

Z pewnością jest to prawda, że ​​plik ".htaccess" specjalizuje się w przekierowywaniu użytkowników do nowych treści przy niewidocznym aktualizowaniu wyszukiwarek, ale ten unikatowy plik może być również używany do wyświetlania określonych stron z błędami, gdy brakuje treści, nie może być wyświetlany lub jest kodowany w takich plikach. sposób, w jaki błędy uniemożliwiają załadowanie strony. Odbywa się to poprzez określenie konkretnej strony do wyświetlenia w oparciu o trzycyfrowy kod błędu serwera. Kody te są zintegrowane z usługami takimi jak Apache i IIS, więc nie ma potrzeby konfigurowania poza plikiem ".htaccess". Poniższy przykład odnosi się do najczęstszej na świecie strony błędu, znanej jako "błąd 404" dla brakujących stron i katalogów.

ErrorDocument 404 / 404.html

Ilekroć użytkownik natknie się na link, który już nie istnieje, lub podfolder, który został usunięty, zostanie automatycznie przekierowany przez plik ".htaccess" na informacyjną i pomocną stronę błędu 404, która może być dostosowana i zaprojektowana specjalnie przez administrator strony. To świetny sposób na przywrócenie ich do gry, zamiast wysyłania ich z prostą i nieokreśloną stroną błędu, która nie oferuje alternatyw dla utraconej strony.

Ten sam proces można ukończyć dla praktycznie każdego typu błędu związanego z ładowaniem strony opartego na serwerze. Obejmuje to błędy serwera 401, 403 i 500 oprócz typowego błędu "nie znaleziono strony", z którym spotyka się większość użytkowników. Pamiętaj, aby zbadać znaczenie każdego kodu błędu i przedstawić napisany na zamówienie komunikat i projekt strony dla każdego błędu, który ułatwi użytkownikom powrót do istniejącej zawartości witryny. To najlepszy sposób na to, aby nawet awarie nawigacyjne lub logiczne witryny zostały przekształcone w szanse i sukcesy.

Gdy wszystko inne zawiedzie, zablokuj użytkownikom kilka prostych linii kodu

W przeważającej części plik ".htaccess" jest używany do zadań, które zwykle działają na korzyść przeciętnego użytkownika. Obejmuje to między innymi strony błędów, niestandardowe metody przekierowania i przyjazne adresy URL bezpośrednich linków. Ale ten plik może być również użyty do upewnienia się, że niektórym użytkownikom po prostu odmawia się dostępu do witryny w całości. To świetny sposób na zakazanie osobom, które "spamują" komentarze na stronie, często powodują zakłócenia lub kłótnie między innymi czytelnikami, lub po prostu nie radzą sobie z ich przywilejami dostępu w odpowiedzialny sposób.

Aby zachować integralność witryny i upewnić się, że inni czytelnicy nie migrują do innych witryn internetowych z powodu frustracji tylko z kilku złych jabłek, plik ".htaccess" pozwala na zablokowanie określonych adresów IP lub całych zakresów (lub "bloków") adresów IP. Oznacza to, że można zakazać całych krajów, można zabronić dostawcom usług internetowych, a całe stany, społeczności lub organizacje mogą zostać zmuszone do pójścia gdzie indziej, aby przeczytać ich codzienne treści i sprawić kłopoty. Kiedy jest zatrudniony w pliku ".htaccess" witryny, proces banowania użytkownika wygląda następująco:

pozwalają z każdego
deny from 158.23.144.12
deny from 24.100

W powyższym przykładzie witryna jest polecana, aby umożliwić odwiedzającym ze wszystkich adresów IP, z wyjątkiem tych, którzy odwiedzają adres IP 158.23.144.12. Ponadto wszystkim odwiedzającym zakres adresów IP 24.100 odmawia się dostępu do witryny. Zakres ten prawdopodobnie zabrania całej bazy klientów dostawcy usług internetowych od czytania treści witryny. Zapewniamy jednak, że czasami jest to konieczne w poważnych przypadkach.

Obejmij plik .htaccess i wykorzystaj trochę mocy nad funkcjami strony

Wielką zaletą pliku .htaccess jest to, że pozwala on administratorom serwerów kontrolować ustawienia, które w przeciwnym razie są uważane za bardzo zaawansowane lub te, które wymagają dostępu "root" do serwera. Ten plik to świetny sposób na zarządzanie dostępem, błędami, przekierowaniami, a nawet strukturą URL i sensem semantycznym. Opanowanie tego jest kluczem do ochrony i wzmacniania nowych i powracających gości witryny.

Artykuł Jerry'ego Lowa

Geek tata, pasjonat danych SEO, inwestor i założyciel Secret Web Hosting Revealed. Jerry buduje aktywa internetowe i zarabia pieniądze online od 2004. Uwielbia bezmyślne gryzienie i próbowanie nowych potraw.