回答:
.htaccessを変更した場合、再起動は必要ありません。他の何かが間違っています。
.htaccessにステートメントが含まれていることを確認してください
RewriteEngine on
これは、httpd.confにも存在する場合でも必要です。.htaccessがhttpdプロセスによって読み取り可能であることも確認してください。
error_logを確認します。使用されている場合は、.htaccessのエラーを通知します。.htaccessに意図的な構文エラーを配置することは、ファイルが使用されていることを確認するための適切なチェックです。同じディレクトリのすべてのページで500エラーが発生するはずです。
最後に、httpd.confで次のようなコマンドを使用して、書き換えログを有効にすることができます。
RewriteLog "ログ/ rewritelog"
RewriteLogLevel 7
このように生成されたログファイルは、どの書き換えルールが一致し、どのように処理されたかについての詳細を提供します。
いいえ:
Apacheは、Webツリー内に配置された特別なファイルを介して構成の分散管理を可能にします。特殊ファイルは通常と呼ば
.htaccess
れますが、AccessFileNameディレクティブで任意の名前を指定できます... .htaccessファイルはすべてのリクエストで読み取られるため、これらのファイルに加えられた変更はすぐに有効になります...
Apacheドキュメントから:最も一般的な問題は、AllowOverrideが設定ディレクティブが尊重されるように設定されていないことです。問題のファイルスコープに対してAllowOverride Noneが有効になっていないことを確認してください。これの良いテストは、ゴミを.htaccessファイルに入れてリロードすることです。サーバーエラーが生成されない場合は、ほぼ確実にAllowOverride Noneが有効になっています。
同じ問題があり、AllowOverrideに関するPiedPiperの投稿が最も役に立ったようです。httpd.confファイルで「AllowOverride」を確認し、それが「すべて」に設定されていることを確認します。
.htaccessが機能していない場合、再起動は不要です。
AllowOverride設定できません。httpd.conf内で設定できるユーザーや、サーバー管理者に連絡する必要がある場合があります。
.htaccessのファイル名を確認します。htaccess.txtではなく.htaccessである必要があります。作成方法のガイドについては、こちらを参照してください。
単純なディレクティブを使用して、機能しているOptions -Indexes
かdeny all
どうかを確認してください。
以前のリダイレクトがキャッシュされている場合、リダイレクトまたは同様のルールがある場合は、毎回ブラウザーのキャッシュをクリアします。
LogLevel alert rewrite:trace7
。後にApacheを再起動し、あなたが助けerror.logファイルホープのトレースが表示されるはずです。 http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#logging