GNU/Linux >> Linux Esercitazione >  >> Panels >> Panels

Come riscrivere gli URL con mod_rewrite per Apache su Ubuntu 20.04

Il mod_rewrite è un modulo Apache che utilizza un motore di riscrittura basato su regole. Viene utilizzato per tradurre e reindirizzare l'URL richiesto a un nuovo URL. Consente di modificare dinamicamente un URL. Quindi il visitatore non vede mai la modifica dell'URL nella barra degli indirizzi. Con mod_rewrite puoi riscrivere un numero illimitato di regole. Ciò ti consentirà di riscrivere l'URL in base a variabili di ambiente, intestazioni HTTP e variabili del server.

In questo post mostreremo come usare mod_rewrite per riscrivere l'URL per Apache su Ubuntu VPS.

Prerequisiti

  • Ubuntu 20.04 VPS (useremo il nostro piano NVMe 2 VPS)
  • Accesso all'account utente root (o accesso a un account amministratore con privilegi root)

Passaggio 1:accedi al server e aggiorna i pacchetti del sistema operativo del server

Innanzitutto, accedi al tuo server Ubuntu 20.04 tramite SSH come utente root:

ssh root@IP_Address -p Port_number

Devi sostituire "Indirizzo_IP" e "Numero_porta" con il rispettivo indirizzo IP e numero di porta SSH del tuo server. Inoltre, se necessario, dovresti sostituire "root" con il nome utente dell'account amministratore.

Prima di iniziare l'installazione, dovremmo assicurarci che tutti i pacchetti del sistema operativo Ubuntu installati sul server siano aggiornati. Puoi farlo eseguendo i seguenti comandi:

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

Fase 2:installa il server Web Apache

Prima di iniziare, assicurati che il pacchetto del server web Apache sia installato nel tuo sistema. Se non è installato, puoi installarlo con il seguente comando:

apt-get install apache2 -y

Una volta installato il pacchetto, avvia il servizio Apache con il seguente comando:

systemctl start apache2

Quindi, apri il tuo browser web e digita l'URL http://your-server-ip per verificare il server web Apache. Se tutto va bene, dovresti vedere la pagina di test di Apache:

Passaggio 3:abilita mod_rewrite

Per impostazione predefinita, il modulo mod_rewrite è installato con il pacchetto Apache ma è disabilitato. Quindi dovrai prima abilitarlo.

Puoi abilitarlo con il seguente comando:

a2enmod rewrite

Quindi, riavvia il servizio Apache per applicare le modifiche.

Successivamente, verifica il modulo mod_rewrite di Apache con il seguente comando:

apache2ctl -M | grep rewrite_module

Dovresti ottenere il seguente output:

 rewrite_module (shared)

Fase 4:abilita i file .htaccess

Puoi impostare le regole di riscrittura direttamente nel file di configurazione principale di Apache. Tuttavia, si consiglia di scrivere le regole nel file .htaccess all'interno di ogni sito web.

Per impostazione predefinita, Apache non consente di utilizzare il file .htaccess. Quindi dovrai abilitare il file .htaccess nel file di configurazione dell'host virtuale predefinito.

Per farlo, modifica il file di configurazione dell'host virtuale predefinito di Apache:

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

Aggiungi le seguenti righe prima della riga:

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

Assicurati di salvare e chiudere il file, quindi riavvia il servizio Apache per applicare le modifiche:

systemctl restart apache2

Passaggio 5:configura le riscritture degli URL

Per capire come funzionano le riscritture degli URL, creeremo una pagina home.html nella directory radice dei documenti di Apache. Imposteremo quindi una riscrittura dell'URL di base che consentirà di accedere alla pagina http://ip-del-tuo-server/home e convertirla nel percorso della pagina effettivo http://ip-del-tuo-server/home.html.

Per prima cosa, creiamo una pagina home.html:

nano /var/www/html/home.html

Aggiungi i seguenti contenuti:

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

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

Salva e chiudi il file quando hai finito.

Quindi, crea un file .htaccess all'interno della directory principale del documento predefinita del sito Web per testare mod_rewrite.

nano /var/www/html/.htaccess

Innanzitutto, aggiungi la seguente riga per abilitare il motore di riscrittura:

RewriteEngine on

Successivamente, aggiungi la seguente regola di riscrittura che reindirizza i visitatori a home.html se richiedono la pagina http://your-server-ip/home.

RewriteRule ^home$ home.html [NC]

Salva e chiudi il file quando hai finito.

Di seguito viene mostrata una breve spiegazione della sintassi delle regole di riscrittura:

  • ^ Questo corrisponderà a qualsiasi testo dopo l'indirizzo IP del server.
  • $ Questo indicherà la fine dell'URL.
  • casa Questo corrisponderà alla stringa effettiva home
  • home.html Questo definirà il file effettivo a cui accede il visitatore.
  • [NC] In questo modo la regola non farà distinzione tra maiuscole e minuscole.

Ora puoi visitare la home page all'indirizzo http://your-server-ip/home sul tuo browser web. Apache reindirizzerà alla pagina home.html come mostrato di seguito:

Ovviamente, non devi fare nulla di tutto ciò se utilizzi uno dei nostri servizi di hosting VPS Linux, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurarlo per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.

PS. Se questo post ti è piaciuto condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.


Panels
  1. Come installare Apache Mod Rewrite su Ubuntu/Linux

  2. Come configurare Apache con HTTP/2 su Ubuntu 16.04

  3. Come installare Odoo 10 su Ubuntu 16.04 con Apache come proxy inverso

  4. Come installare Odoo 12 su Ubuntu 18.04 con Apache come proxy inverso

  5. Come installare Odoo 14 su Ubuntu 20.04 con Apache come proxy inverso

Come installare Drupal 7 con Apache su Ubuntu 14.04

Come installare PrestaShop su Ubuntu 20.04 con Apache

Come installare phpBB con Apache su Ubuntu 20.04

Come configurare WordPress su Ubuntu Server con Apache

Come installare NextCloud su Ubuntu 20.04 con Apache

Come installare WordPress con Apache in Ubuntu 20.04