Ubuntu 12.04の新規インストールで、Apache2のwordpressの環境をセットアップしています。
フレンドリーなURLを機能させるために、mod_rewriteを設定しようとしています。私はネットで見つけたいくつかの指示に従い、a2enmodを使用しました。
さて。 Apacheを再起動した後、モジュールが実際にロードされているかどうかを確認したいと思います。
ロードされたモジュールのリストを取得するために見つけたコマンドは次のとおりです。
Apache2 -t -D DUMP_MODULES
ただし、これはエラーを返します。
Apache2:不正なユーザー名$ {Apache_RUN_USER}
それで、実際にロードされたすべてのモジュールをリストする方法、またはmod_rewriteが有効になっているかどうかを確認するにはどうすればよいですか?
KM01はapachectl
を意味しましたが、それでは必要なものが得られません。これは、サーバーの起動/停止/再起動を制御するとともに、いくつかのステータス情報を提供します。 phpファイルオプションは機能しますが、ユーザー側で追加の作業が必要になります。代わりに、コマンドラインからphpを実行してみてください:_$ php -i
_。これは、コマンドラインでのみ、phpinfo()
が出力するものを出力します。
_$ Apache2 -l
_を実行すると、コンパイル済みモジュールのリストを取得できますが、LoadModule(またはその他の)ディレクティブを使用して動的にロードされたモジュールを表示するのには役立ちません。
_/etc/Apache2/mods-enabled/
_のエントリを確認すると、どのモジュールが動的にロードされているかを確認できます。いくつかは、設定のために同じディレクトリに追加のconfファイルを持っています。これらのモジュールは2回ロードされません。 _/etc/Apache2/mods-available/
_を調べると、動的にロードできるモジュールのリストを確認できます。 _$ a2enmod <module_name>
_を使用して、コマンドラインでそれらを有効にできます。 _$ a2dismod <module_name>
_でアンロードできます。
有効化/無効化が完了したら、_$ service Apache2 restart
_または_$ apachectl graceful
_を使用してApacheを再起動する必要があります。この作業のすべてではなくてもほとんどを行うには、root(Sudo)特権が必要です。
1)phpファイルに<?php phpinfo(); ?>
と入力して保存し、サーバーでそのファイルを実行します。
2)これで、情報のリストを表示できます。ブラウザの検索メニューから「mod_rewrite」という単語を検索するだけです
3)「ロードされたモジュール」セクションにある場合、このモジュールは下の図に示すようにすでにロードされています。そうでない場合は、mod_rewriteモジュールを有効にするために次の手順に進む必要があります。
ソース: http://roshanbh.com.np/2008/04/check-enable-mod_rewrite-Apache.html
Apache2
コマンドを使用する代わりに、apachectl
コマンドはありますか? Apache2
と同じ場所にある必要があります。または、Sudo Apache2 -t -D DUMP_MODULES
を使用して管理者特権でコマンドを実行することもできます
端末タイプのCentOS 6.5以降
httpd -M | grep 'rewrite'
回答にrewrite_module(共有)が表示されている場合は、インストールされていることを意味します。grep 'rewrite'を削除して、Apacheインストールのすべてのモジュールのリストを取得できます。
ルートディレクトリにmod_rewrite.php
ファイルを作成し、その中に以下のコードを配置するだけです。
<?php
echo
"Mod_rewrite is activated!"
; ?>
古い.htaccess
ファイルの名前を変更してください
新しい.htaccessファイルを作成し、以下のコードを配置するだけです。
RewriteEngine On
RewriteRule ^.*$ mod_rewrite.php
保存します。
次に、サイトにアクセスするとメッセージが表示されます。
@Richardで説明したとおりですが、これを実現するために実際に行う必要があるのは、次の内容のファイルを作成することです。
<?php
phpinfo();
?>
これにより、Apache/php構成に関するさまざまな情報が出力されます。 imagickがインストールされているかどうかに関係なく、他にも便利なものがあります。ロードされたすべてのApacheモジュールもそこにあります。
PHP情報は、それが有効になっているかどうかを常に表示するわけではありません。ごめんなさい!
ただし、 スタックオーバーフローのこのページdoesを使用すると、正しい方向に向けることができます。
または、それらをすべてリストするいくつかのphpを次に示します。
<?php foreach( Apache_get_modules() as $module ) echo "$module<br />"; ?>
端末でルートとしてのsuseタイプhttpd2 -M
、ロードされたモジュールのリストを提供します。 httpd2 -l
は、コンパイルされたモジュールのみを提供します。これはApache 2.4で動作します