ホームページ >バックエンド開発 >PHPチュートリアル >Apache Rewrite モジュールの書き換え機能の有効化と検出の実装
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 を可能な限り設定してください:
8b74a224cd81ca964ce91534aaea906f ...ee672f0beb03b42be69279368a66a410
が一緒に定義されています。メンテナンスが容易になります。 3. Rewrite 関数をテストします以下は .htaccess テストの例です:# BEGIN <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteRule .*$ </IfModule> #ENDテスト方法、.htaccess としてコピーして保存し、Web サイトのルート ディレクトリにアップロードし、Web サイトの任意のパス ページにアクセスします。このブログにジャンプして、Rewrite が有効になったことを説明します。関連する記事:laravelフレームワークのセッティングは、nginx iisの擬似静的設定方法の下で書き換えます。ルールの手順