0

私は Apache Rewrite Engine を試していましたが、応答をキャッシュしていたため問題がありました。ファイルを変更すると、ファイルの内容は実行されませんが、以前に同じ URL を試したときに実行したことは実行されます。

たとえば、私は入力しようとしました

localhost/api

しかし、私はまだそれに一致するルールを設定していませんでした. サーバーから 404 エラーが返されました。この URL で機能するルールを追加しようとしました。

RewriteRule api/? api.php [L]

それでも同じエラーが発生しました。ルールを追加する前に入力しなかった localhost/lapi のようなアドレスを試してみると、うまくいきます。このキャッシュをクリアして再起動する方法はありますか? apachectl -k restartandを使用してApacheを再起動しようとしapachectl -k gracefulましたが、それでも同じ問題がありました。この問題を解決する方法を知っている人はいますか?

4

2 に答える 2

0

まず、ルールのコンテキストによっては、次のように先頭にスラッシュが必要になる場合があります。

RewriteRule api/? /api.php [L]

キャッシングに関して、mod_cacheを有効にしていますか? その場合は、無効にしてサーバーを再起動してください。mod_rewrite は、単独ではキャッシュを行いません。また、ブラウザのキャッシュを完全にクリアしてください。同じローカル ネットワークを介してサーバーにアクセスしていない場合は、途中で他のキャッシュが行われている可能性があることに注意してください。

于 2013-02-03T00:01:32.057 に答える