ラップトップを Ubuntu 10.04 から Ubuntu 11.10 にアップグレードしました。URL の書き換えがa2enmod rewrite
まったく機能していないため、Apache Web サーバーが .htaccess ファイルを認識していないようです。 を試しましたが、Apache によると、すでに有効になっています。Apache サーバーを再起動しましたが、書き換えはまだ機能しません。 500 Internal Server エラーなどのエラーを発生させることを期待して、.htaccess ファイルに意味不明なテキストを入力しようとしましたが、エラーは発生しませんでした。Apache が .htaccess ファイルを読み取っていないかのようです。apache2.conf ファイルには、 という行がありますAccessFileName .htaccess
。
.htaccess ファイル内の RewriteRules を再び機能させるにはどうすればよいですか?
答え1
.htaccess
ファイルが本当に解析されない場合は、AllowOverride
メイン設定にディレクティブが必要です。
AllowOverride FileInfo
(これにより、mod_rewrite ディレクティブが許可されます。All
ディレクティブを許可する必要がある場合に使用します)
ところで、なぜ使うの.htaccess
でしょうか?ドキュメント:
一般に、メイン サーバー構成ファイルへのアクセス権がない限り、.htaccess ファイルは使用しないでください。
答え2
.htaccess でどのような種類のエントリが受け入れられるかを制御する AllowOverride ディレクティブを確認してください。これは、ディレクトリ コンテキストで設定されます。
http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride