GNU/Linux >> Linux の 問題 >  >> Panels >> Panels

Ubuntu20.04でApache用にmod_rewriteを使用してURLを書き換える方法

mod_rewriteは、ルールベースの書き換えエンジンを使用するApacheモジュールです。これは、要求されたURLを新しいURLに変換およびリダイレクトするために使用されます。これにより、URLを動的に変更できます。したがって、訪問者はアドレスバーにURLの変更が表示されることはありません。 mod_rewriteを使用すると、無制限の数のルールを書き換えることができます。これにより、環境変数、HTTPヘッダー、サーバー変数に基づいてURLを書き換えることができます。

この投稿では、mod_rewriteを使用してUbuntuVPSでApacheのURLを書き換える方法を示します。

前提条件
  • Ubuntu 20.04 VPS(NVMe 2 VPSプランを使用します)
  • rootユーザーアカウントへのアクセス(またはroot権限を持つ管理者アカウントへのアクセス)

ステップ1:サーバーにログインしてサーバーOSパッケージを更新する

まず、rootユーザーとしてSSH経由でUbuntu20.04サーバーにログインします。

ssh root@IP_Address -p Port_number

「IP_Address」と「Port_number」をサーバーのそれぞれのIPアドレスとSSHポート番号に置き換える必要があります。また、必要に応じて「root」を管理者アカウントのユーザー名に置き換える必要があります。

インストールを開始する前に、サーバーにインストールされているすべてのUbuntuOSパッケージが更新されていることを確認する必要があります。これを行うには、次のコマンドを実行します。

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

ステップ2:ApacheWebサーバーをインストールする

開始する前に、ApacheWebサーバーパッケージがシステムにインストールされていることを確認してください。インストールされていない場合は、次のコマンドでインストールできます。

apt-get install apache2 -y

パッケージがインストールされたら、次のコマンドを使用してApacheサービスを開始します。

systemctl start apache2

次に、Webブラウザーを開き、URL http:// your-server-ipを入力します。 ApacheWebサーバーを検証します。すべて問題がなければ、Apacheテストページが表示されます:

ステップ3:mod_rewriteを有効にする

デフォルトでは、mod_rewriteモジュールはApacheパッケージとともにインストールされますが、無効になっています。したがって、最初に有効にする必要があります。

次のコマンドで有効にできます:

a2enmod rewrite

次に、Apacheサービスを再起動して変更を適用します。

次に、次のコマンドを使用してApachemod_rewriteモジュールを確認します。

apache2ctl -M | grep rewrite_module

次の出力が得られるはずです:

 rewrite_module (shared)

ステップ4:.htaccessファイルを有効にする

Apacheのメイン設定ファイルで直接書き換えルールを設定できます。ただし、各Webサイト内の.htaccessファイルにルールを記述することをお勧めします。

デフォルトでは、Apacheは.htaccessファイルの使用を許可していません。そのため、デフォルトの仮想ホスト構成ファイルで.htaccessファイルを有効にする必要があります。

これを行うには、Apacheのデフォルトの仮想ホスト構成ファイルを編集します。

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

行の前に次の行を追加します:

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

必ずファイルを保存して閉じてから、Apacheサービスを再起動して変更を適用してください。

systemctl restart apache2

ステップ5:URL書き換えを構成する

URL書き換えがどのように機能するかを理解するために、Apacheドキュメントのルートディレクトリにhome.htmlページを作成します。次に、ページhttp:// your-server-ip / homeにアクセスし、それを実際のページパスhttp://your-server-ip/home.htmlに変換できるようにする基本的なURL書き換えを設定します。

まず、home.htmlページを作成しましょう:

nano /var/www/html/home.html

次のコンテンツを追加します:

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

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

終了したら、ファイルを保存して閉じます。

次に、ウェブサイトのデフォルトのドキュメントルートディレクトリ内に.htaccessファイルを作成して、mod_rewriteをテストします。

nano /var/www/html/.htaccess

まず、次の行を追加して、書き換えエンジンを有効にします。

RewriteEngine on

次に、訪問者がページhttp:// your-server-ip / homeを要求した場合に、訪問者をhome.htmlにリダイレクトする次の書き換えルールを追加します。

RewriteRule ^home$ home.html [NC]

終了したら、ファイルを保存して閉じます。

書き換えルールの構文の簡単な説明を以下に示します。

  • ^ これは、サーバーのIPアドレスの後のテキストと一致します。
  • $ これは、URLの終わりを示します。
  • 自宅 これは実際の文字列のホームと一致します
  • home.html これにより、訪問者がアクセスする実際のファイルが定義されます。
  • [NC] これにより、ルールの大文字と小文字が区別されなくなります。

これで、 http:// your-server-ip / homeのホームページにアクセスできます。 Webブラウザで。以下に示すように、Apacheはhome.htmlページにリダイレクトします。

もちろん、Linux VPSホスティングサービスのいずれかを使用している場合は、これを行う必要はありません。その場合は、専門のLinux管理者にセットアップを依頼するだけです。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。

PS。この投稿が気に入った場合は、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。


Panels
  1. Apache mod_rewrite

  2. リバースプロキシとしてApacheを使用してUbuntu16.04にOdoo10をインストールする方法

  3. Ubuntu 18.04 で Apache との SSL 接続を保護する方法

  1. Ubuntu/LinuxにApacheModRewriteをインストールする方法

  2. Ubuntu16.04でHTTP/2を使用してApacheを設定する方法

  3. リバースプロキシとしてApacheを使用してUbuntu18.04にOdoo12をインストールする方法

  1. リバースプロキシとしてApacheを使用してUbuntu20.04にOdoo14をインストールする方法

  2. Apacheを使用してUbuntu20.04にLet’sEncryptをインストールする方法

  3. Ubuntu20.04でApache2を使用してHTTPSプロトコルを有効にする方法