Apache のバージョンやオペレーティング システムが異なると、設定ファイルの名前や設定の管理方法が異なることがよくあります。たとえば、インストール ディレクトリが httpd である場合や、Apache の公式の場合は、設定ファイルの名前やモジュールの読み込み方法も異なる場合があります。しかし、結局のところ、ほとんどのユーザーは Apache の設定と使用時の情報の検索に一日中費やしています。通常、2 つのファイルのパスが間違っていると、大きな問題が発生します。タイトルに入ります。
Apache の Rewrite 機能はデフォルトで無効になっていますが、その Rewrite モジュールはロードされています。そのため、常に有効にならない .htaccess ファイルの作成に忙しくする必要はありません。まず、Apache が .htacess を認識しているかどうかを確認してください。
1. Rewrite モジュールがロードされていることを確認します
この記事のテストは CentOS 6 システムで行われました。パスは /etc/httpd/conf/httpd.conf です。
LoadModule rewrite_module modules/mod_rewrite.so
にコメントがある場合。前面にある場合は、それを削除して APACHE を再起動するだけです。
yum install や apt-get install などのシステム独自のコマンドを使用してインストールする場合、httpd.conf/apache2.conf に
LoadModule rewrite_module modules/mod_rewrite.so
という行が見つかりません。次の設定を参照して Rewrite モジュールをロードできます。 :
ターミナル内
sudo a2enmod rewrite
コマンドを実行すると、Mod_rewrite モジュールが有効になります。
また、/etc/apache2/mods-available/rewrite.load を /etc/apache2/mods-enabled/rewrite.load に接続することで、Mod_rewrite モジュールをオンにすることもできます。コマンド操作は次のとおりです:
sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
2. ディレクトリの Rewrite がオンになっていることを確認します
Rewrite ライブラリをロードしても、.htaccess ファイルが有効になるわけではありません。
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory>
このうち、AllowOverride のみ Directory セクションで定義できます。具体的な使用法については、Apache の公式の説明を参照してください (以下のリンク)。 .conf または /etc/httpd/conf.d/vhost.conf を可能な限り設定してください:
# BEGIN <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteRule .*$ </IfModule> #END