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

Jak přepsat adresy URL pomocí mod_rewrite pro Apache na Ubuntu 20.04

Mod_rewrite je modul Apache, který používá přepisovací stroj založený na pravidlech. Slouží k překladu a přesměrování požadované URL na novou URL. Umožňuje dynamickou změnu adresy URL. Návštěvník tedy nikdy neuvidí změnu adresy URL v adresním řádku. Pomocí mod_rewrite můžete přepsat neomezený počet pravidel. To vám umožní přepsat adresu URL na základě proměnných prostředí, záhlaví HTTP a proměnných serveru.

V tomto příspěvku si ukážeme, jak použít mod_rewrite k přepsání adresy URL pro Apache na Ubuntu VPS.

Předpoklady

  • Ubuntu 20.04 VPS (budeme používat náš plán NVMe 2 VPS)
  • Přístup k uživatelskému účtu root (nebo přístup k účtu správce s oprávněními root)

Krok 1:Přihlaste se k serveru a aktualizujte balíčky operačního systému serveru

Nejprve se přihlaste ke svému serveru Ubuntu 20.04 přes SSH jako uživatel root:

ssh root@IP_Address -p Port_number

Musíte nahradit „IP_Address“ a „Port_number“ příslušnou IP adresou vašeho serveru a číslem portu SSH. V případě potřeby byste také měli nahradit „root“ uživatelským jménem účtu správce.

Než začneme s instalací, měli bychom se ujistit, že všechny balíčky Ubuntu OS nainstalované na serveru jsou aktualizovány. Můžete to provést spuštěním následujících příkazů:

apt-get update -y
apt-get upgrade -y

Krok 2:Instalace webového serveru Apache

Než začnete, ujistěte se, že je ve vašem systému nainstalován balíček webového serveru Apache. Pokud není nainstalován, můžete jej nainstalovat pomocí následujícího příkazu:

apt-get install apache2 -y

Jakmile je balíček nainstalován, spusťte službu Apache pomocí následujícího příkazu:

systemctl start apache2

Dále otevřete webový prohlížeč a zadejte adresu URLhttp://ip-vaseho-serveru pro ověření webového serveru Apache. Pokud je vše v pořádku, měli byste vidět testovací stránku Apache:

Krok 3:Povolte mod_rewrite

Ve výchozím nastavení je modul mod_rewrite nainstalován s balíčkem Apache, ale je zakázán. Nejprve jej tedy budete muset povolit.

Můžete jej povolit pomocí následujícího příkazu:

a2enmod rewrite

Poté restartujte službu Apache, aby se změny projevily.

Dále ověřte modul Apache mod_rewrite pomocí následujícího příkazu:

apache2ctl -M | grep rewrite_module

Měli byste získat následující výstup:

 rewrite_module (shared)

Krok 4:Povolte soubory .htaccess

Pravidla přepisu můžete nastavit přímo v hlavním konfiguračním souboru Apache. Doporučuje se však zapsat pravidla do souboru .htaccess uvnitř každé webové stránky.

Ve výchozím nastavení Apache neumožňuje použití souboru .htaccess. Takže budete muset povolit soubor .htaccess ve vašem výchozím konfiguračním souboru virtuálního hostitele.

Chcete-li tak učinit, upravte výchozí konfigurační soubor virtuálního hostitele Apache:

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

Před řádek přidejte následující řádky:

<Directory /var/www/html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
</Directory>

Ujistěte se, že jste soubor uložili a zavřete, poté restartujte službu Apache, aby se změny projevily:

systemctl restart apache2

Krok 5:Konfigurace přepisů adres URL

Abychom pochopili, jak funguje přepisování URL, vytvoříme stránku home.html v kořenovém adresáři dokumentů Apache. Poté nastavíme základní přepsání adresy URL, které umožní přístup na stránku http://ip-vaseho-serveru/home a převede ji na skutečnou cestu ke stránce http://ip-vaseho-serveru/home.html.

Nejprve si vytvořte stránku home.html:

nano /var/www/html/home.html

Přidejte následující obsah:

<html>
    <head>
        <title>Home</title>
    </head>
    <body>
        <h1>Home Page</h1>

<h2>This is my home page</h2>
    </body>
</html>

Po dokončení uložte a zavřete soubor.

Dále vytvořte soubor .htaccess ve výchozím kořenovém adresáři dokumentu na webu pro testování mod_rewrite.

nano /var/www/html/.htaccess

Nejprve přidejte následující řádek, abyste povolili přepisovací stroj:

RewriteEngine on

Dále přidejte následující pravidlo přepisu, které návštěvníky přesměruje na home.html, pokud požádají o stránku http://ip-vaseho-serveru/home.

RewriteRule ^home$ home.html [NC]

Po dokončení uložte a zavřete soubor.

Stručné vysvětlení syntaxe pravidla přepisu je uvedeno níže:

  • ^ To bude odpovídat libovolnému textu za IP adresou serveru.
  • $ Toto bude označovat konec adresy URL.
  • domů To bude odpovídat skutečnému domovskému řetězci
  • home.html Tím bude definován skutečný soubor, ke kterému návštěvník přistupuje.
  • [NC] Díky tomu nebude pravidlo rozlišovat malá a velká písmena.

Nyní můžete navštívit domovskou stránku na adrese http://ip-vaseho-serveru/home ve vašem webovém prohlížeči. Apache se přesměruje na stránku home.html, jak je uvedeno níže:

Samozřejmě nemusíte nic z toho dělat, pokud používáte některou z našich hostingových služeb Linux VPS, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby vám to nastavili. Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.

PS. Pokud se vám tento příspěvek líbil, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek vlevo nebo jednoduše zanechte odpověď níže. Děkuji.


Panels
  1. Jak nastavit Apache s HTTP/2 na Ubuntu 16.04

  2. Jak nainstalovat Odoo 10 na Ubuntu 16.04 s Apache jako reverzní proxy

  3. Jak nainstalovat Odoo 12 na Ubuntu 18.04 s Apache jako reverzní proxy

  1. Jak nainstalovat Odoo 14 na Ubuntu 20.04 s Apache jako reverzní proxy

  2. Jak nainstalovat Let’s Encrypt na Ubuntu 20.04 s Apache

  3. Jak zabezpečit připojení SSL s Apache na Ubuntu 18.04

  1. Apache mod_rewrite

  2. Jak nainstalovat Apache Mod Rewrite na Ubuntu / Linux

  3. Jak povolit protokol HTTPS s Apache 2 na Ubuntu 20.04