Jak włączyć Apache Mod_Rewrite na Ubuntu 18.04 VPS lub serwerze dedykowanym

Mod_rewrite to potężny moduł Apache, który umożliwia manipulowanie adresami URL. Zaawansowana funkcja pozwala webmasterom na przepisywanie adresów URL, co jest powszechną praktyką w wielu systemach zarządzania treścią, takich jak WordPress.

Mod_rewrite słynie z tłumaczenia czytelnych dla ludzi adresów URL w dynamicznych witrynach. Dzięki temu adres URL wygląda na bardziej przejrzysty i przyjazny w witrynach.

W tym przewodniku omówimy kroki włączenia mod_rewrite na serwerze Apache działającym na Ubuntu 18.04 VPS.

Wymagania wstępne

  • Ubuntu 18.04 VPS
  • Użytkownik inny niż root z uprawnieniami sudo
  • Serwer WWW Apache

Krok 1: Włącz mod_rewrite

Możesz włączyć dowolny moduł Apache za pomocą polecenia a2enmod. Uruchom poniższe polecenie na serwerze Ubuntu 18.04:

$ sudo a2enmod przepisz

Jeśli moduł jest już włączony na twoim serwerze, otrzymasz komunikat ostrzegawczy.

Musisz ponownie uruchomić Apache po wprowadzeniu jakichkolwiek zmian w jego konfiguracji. Aby to zrobić, wpisz poniższe polecenie w oknie terminala:

$ sudo systemctl restart apache2

Twój serwer jest teraz gotowy do zaakceptowania reguł przepisywania.

Krok 2: Skonfiguruj serwer tak, aby akceptował pliki .htaccess

Możesz skonfigurować reguły przepisywania adresów URL bezpośrednio w pliku konfiguracyjnym Apache. Jednak wskazane jest zachowanie reguł „.Htaccess” plik na każdej stronie internetowej. Większość systemów zarządzania treścią opiera się na „.Htaccess” plik i jest on tworzony domyślnie po zainstalowaniu aplikacji.

Domyślnie Apache nie zezwala na użycie „.Htaccess” , więc musisz edytować konfigurację pliku wirtualnego hosta każdej witryny, dodając następujący kod:

Opcje Indeksy FollowSymLinks MultiViews
AllowOverride All
Wymagaj wszystkich przyznanych

Na przykład możesz edytować domyślne wirtualne hosty dostarczane z Apache przy użyciu edytora nano, wpisując poniższe polecenie:

$ sudo nano /etc/apache2/sites-available/000-default.conf

Następnie skopiuj wklej powyższy tekst tuż przed tag zamykający. Pamiętaj, aby zapisać plik, naciskając CTRL + X następnie Y i Wchodzić

Następnie uruchom ponownie Apache, aby zmiany odniosły skutek:

$ sudo systemctl restart apache2

Krok 3: Zmodyfikuj składnię

Podstawowa składnia mod_rewrite Apache składa się z następujących części:

Podstawienie wzorca RewriteRule [flagi]

  • RewriteRule – dyrektywa naszej reguły.
  • Wzorzec – to wyrażenie regularne (wyrażenie regularne), które pasuje do tego, co użytkownik wpisze w przeglądarce.
  • Podstawienie – rzeczywista ścieżka adresu URL, która powinna zostać wywołana przez serwer Apache.
  • Flaga – opcjonalne parametry, które modyfikują działanie reguł..

Krok 4: Utwórz przykładowy plik .htaccess

Teraz utworzymy próbkę „.Htaccess” plik w katalogu głównym domyślnej strony internetowej, aby przetestować mod_rewrite. Aby to zrobić, wpisz polecenie poniżej

$ sudo nano /var/www/html/.htaccess

Każda reguła mod_rewrite musi być z komendami „RewriteEngine on”. Więc musisz wpisać to na górze pliku.

RewriteEngine on

Następnie przepiszemy regułę przekierowującą użytkowników do „Contact_us.html” stronę, jeśli zażądają adresu URL http: // ipaddress / contact_us

Więc dodajemy poniższą zasadę:

RewriteRule ^ contact_us $ contact_us.html [NC]

W powyższej regule „contact_us” to wzorzec, który należy dopasować i przekierować na ścieżkę zastępczą „contact_us.html”. Polecenie „[NC]” jest flagą, która mówi Apache, aby reguła rozróżniała wielkość liter. „^” Oznacza, że ​​dopasowujemy dowolny tekst po publicznym adresie IP serwera lub nazwie domeny, natomiast „$” oznacza koniec adresu URL, który pasujemy.

Więc nasz kompletny „.Htaccess” plik powinien wyglądać jak poniższy tekst:

RewriteEngine on

RewriteRule ^ contact_us $ contact_us.html [NC]

Zapisz plik, naciskając CTRL+ X, Y, i Wchodzić.

Następnie wpisz poniższe polecenie, aby utworzyć stronę contact_us.html:

$ sudo nano /var/www/html/contact_us.html

Następnie wklej poniższy tekst HTML do pliku:

Skontaktuj się z naszą stroną internetową

To jest strona kontaktowa

Zapisz plik, naciskając CTRL+ X, Y i Wchodzić.
Teraz, jeśli odwiedzasz ścieżkę http: // ipaddress / contact_us w przeglądarce, Apache powinien wyświetlać stronę „contact_us.html ” które stworzyliśmy jak pokazano poniżej:

Wniosek

Znaczące adresy URL są bardzo ważne zarówno dla ludzi, jak i wyszukiwarek. W rzeczywistości uwzględnienie słów kluczowych w adresach URL zamiast liczb sprawia, że ​​witryna jest przyjazna dla SEO. Istnieją dziesiątki reguł, które możesz napisać na serwerze Apache, ale powyższy przewodnik był prostym tutorialem umożliwiającym włączenie mod_rewrite na twoim komputerze i upewnienie się, że moduł działa zgodnie z oczekiwaniami.

Jeśli wcześniej nie można było uruchomić systemu zarządzania treścią, takiego jak WordPress, powinien on teraz działać. Mamy nadzieję, że podobało Ci się czytanie tego przewodnika i zamierzasz zastosować kroki opisane w systemie Ubuntu 18.04 VPS.

Sprawdź te 3 najlepsze usługi hostingowe dla systemu Linux

FastComet

Cena wywoławcza:
2,95 USD


Niezawodność
9.7


cennik
9.5


Przyjazny użytkownikowi
9.7


Wsparcie
9.7


funkcje
9,6

Przeczytaj recenzje

Odwiedź FastComet

Hostinger

Cena wywoławcza:
0,99 USD


Niezawodność
9.3


cennik
9.3


Przyjazny użytkownikowi
9.4


Wsparcie
9.4


funkcje
9.2

Przeczytaj recenzje

Odwiedź Hostinger

ChemiCloud

Cena wywoławcza:
2,76 USD


Niezawodność
10


cennik
9.9


Przyjazny użytkownikowi
9.9


Wsparcie
10


funkcje
9.9

Przeczytaj recenzje

Odwiedź ChemiCloud

Powiązane artykuły instruktażowe

  • Jak zainstalować & Skonfiguruj serwer internetowy Caddy na Ubuntu 18.04 VPS
    pośredni
  • Jak hostować wiele stron internetowych na Ubuntu 18.04 VPS lub serwerze dedykowanym
    pośredni
  • zainstalować & Skonfiguruj serwer internetowy Caddy na CentOS 7 VPS
    pośredni
  • Jak włączyć uwierzytelnianie dwuskładnikowe na Ubuntu 18.04 VPS lub serwerze dedykowanym
    pośredni
  • Jak zabezpieczyć serwer Apache Web ModEvasive na Ubuntu 18.04 VPS
    pośredni
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me