mod_rewrite
のApache24 server
モジュールを使おうとしていますが、読み込めません。このトピックに関して多くの質問があり、それらすべてを調べましたが、何も機能していないようです。これらは私が今まで行ってきたステップです---
変更されたhttpd.conf
ファイルは次の変更を行いました。
a。コメントなしLoadModule rewrite_module modules/mod_rewrite.so
b。 AllowOverride None
をAllowOverride All
に変更しました
Apacheサーバーを再起動しました
コマンドプロンプトコマンドhttpd -M
を使用してロードされたモジュールをチェックしました。 mod_rewriteモジュールがロードされていることがわかります。下の画像を添付しています。
しかし、これらすべての手順を実行した後、mod_rewriteがphpinfo
にロードされたモジュールとして表示されません。
上の写真でわかるように、mod_rewriteがロードされたモジュールはありません。また、ワイルドハックとして、.htaccess
ファイルを使用してURLを書き換えようとしましたが、これは機能しません。 Apacheは.htaccess
ファイルを無視しているようですが、そのファイルをルートディレクトリに置いています。
Note: I am running `PHP` as an Apache module
Using `WAMP` stack
Using `localhost` as server
このモジュールは、URL書き換えの目的でひどく必要です。このモジュールをロードする他の方法を提案できますか?
[〜#〜]編集[〜#〜]
モジュールがロードされ、.htaccess
にもinfo.php
にも依存しないことを答えが示唆しているので、仮想ホストからURLを書き換えようとしましたが、リダイレクトされません。以下にVirtual Host
セットアップを追加します---
<VirtualHost *:80>
<Directory "/Apache24/htdocs">
Options FollowSymLinks
AllowOverride All
DirectoryIndex index.html index.php
</Directory>
ServerName localhost
DocumentRoot "/Apache24/htdocs"
ErrorLog "/Apache24/logs/error.log"
CustomLog "/Apache24/logs/access.log" combined
<directory "/Apache24/htdocs">
<IfModule rewrite_module>
Options +FollowSymlinks
RewriteEngine On
</IfModule>
<IfModule rewrite_module>
RewriteRule ^working.php fun.html
</IfModule>
</directory>
# Rewrite Rules #####################
RewriteEngine On
RewriteRule ^working.php fun.html
# end Rewrite Rules #################
</VirtualHost>
上記のコードは、working.php
を実行しようとしても、それをfun.html
にリダイレクトしません。それは単に言う:
要求されたURL/working.phpがこのサーバーで見つかりませんでした。
モジュールをロードする以外に必要なディレクティブは次のとおりです。
RewriteEngineオン
追加:
リンクされたスクリーンショットから、サーバールート(ファイルシステムパス)はC:/Apache24
のように見えますが、サーバー構成ディレクティブのいずれかでC:
を参照していませんか?次に、完全なファイルシステムパスを参照する必要があります。
<Directory "C:/Apache24/htdocs">
RewriteRule ^working.php fun.html
(<Directory>
コンテナの外部の)VirtualHostで直接使用されるこのディレクティブは、決して一致しません。 VirtualHost(またはサーバー構成)コンテキストで使用される場合、mod_rewriteは完全なURLパスに一致します。特に、includesスラッシュプレフィックスです。これは、mod_rewriteを使用する場合の重要な違いです。ディレクトリ/ .htaccess
コンテキスト(スラッシュプレフィックスが除外されている場合)。