GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOSのApacheでmod_rewriteを有効にする方法

はじめに

Apache mod_rewriteは、URL操作を実行する方法を提供する非常に強力で洗練されたモジュールです。 mod_rewriteを使用すると、必要になる可能性のあるすべてのタイプのURL書き換えを実行できます。この記事では、CentOSサーバーでApacheモジュールmod_rewriteを有効にする方法を説明します。

ステップ1:モジュールが存在するかどうかを確認します

モジュールmod_rewriteを有効にする前に、モジュールがすでにhttpdファイルにロードされているかどうかを確認する必要があります。

端末で次のコマンドを実行します。

# httpd -V

出力は次のようになります

Server version: Apache/2.2.15 (Unix)
Server built:   Jan 12 2017 17:09:39
Server's Module Magic Number: 20051115:25
Server loaded:  APR 1.3.9, APR-Util 1.3.9
Compiled using: APR 1.3.9, APR-Util 1.3.9
Architecture:   64-bit
Server MPM:     Prefork
threaded:     no
forked:     yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="run/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="logs/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"

上記の結果から、apache構成ファイル(httpd.conf)のパスを見つけることができます。この結果から、サーバーのconfファイルパスは/etc/httpd/conf/httpd.confであると言えます。

モジュールが存在するかどうかを確認するには、以下のコマンドを実行します

# ls /etc/httpd/modules | grep mod_rewrite

モジュールが存在する場合、次の結果が得られます。

出力:

mod_rewrite.so

この結果が得られない可能性はまれですが、この結果が得られない場合は、mod_rewriteをインストールし、モジュールサポートを使用してApacheをコンパイルする必要があります。

ステップ2:モジュールがロードされているかどうかを確認します

モジュールがmodulesディレクトリに存在することを確認したので、モジュールがロードされているか有効になっているかを確認しましょう。これを行うには、ターミナルで次のコマンドを実行します。

# grep -i LoadModule /etc/httpd/conf/httpd.conf | grep rewrite

次の結果が表示された場合は、モジュールが有効になっていることを意味します。

LoadModule rewrite_module modules/mod_rewrite.so

この結果に以下のようにコメントが付けられている場合は、httpd.confファイルからコメントを削除し、ファイルを保存して終了します。

#LoadModule rewrite_module modules/mod_rewrite.so

ただし、上記の結果が得られない場合は、httpd.confファイルに次の行を追加してください。

LoadModule rewrite_module modules/mod_rewrite.so

ステップ3:httpd.confファイルを構成する

mod_rewriteモジュールを有効にしたので、次に.htaccessを使用してmod_rewriteを使用してURL書き換えを行うには、各ディレクトリがApacheのグローバルオプションをオーバーライドできるようにする必要があります。

ターミナルで次のコマンドを実行します

# grep -i AllowOverride /etc/httpd/conf/httpd.conf

出力:

AllowOverride None
# AllowOverride controls what directives may be placed in .htaccess files.
    AllowOverride None
#    AllowOverride FileInfo AuthConfig Limit
# for additional configuration directives.  See also the AllowOverride
    AllowOverride None
    AllowOverride None
        AllowOverride None

セクションを見つけてhttpd.confファイルを編集し、ディレクティブをNoneからAllに変更します。次に、ファイルを保存して終了します。

これで、CentOSサーバーでmod_rewriteモジュールが有効になりました。


Cent OS
  1. Mod_rewriteモジュールを有効にする方法は?

  2. CentOS8にApacheKafkaをインストールする方法

  3. CentOS / RHEL :Apache の SSL を有効にする方法

  1. CentOS8にApacheCassandraをインストールする方法

  2. CentOS7にApacheをインストールする方法

  3. CentOS7にApacheMavenをインストールする方法

  1. CentOS7にApacheCassandraをインストールする方法

  2. CentOS8にApacheをインストールする方法

  3. CentOS8にApacheMavenをインストールする方法