UbuntuとLAMPを使用して開発サーバーをセットアップしましたが、何らかの理由で.htaccess
がおかしな動作をしています...
そこには一連のルールがあるサイトがあり、コメントアウトしても機能します。ファイルの名前を.htaccesss
に変更しても、引き続き機能します。ファイル内のすべてを削除しても機能し、変更を加えるたびにApacheを再起動します...
Apacheを再インストールしてリライトモジュールを再インストールしようとしましたが、それでも機能しません...
私が追加した新しいルールはまったく影響がないように見えるので、他の場所からルールを読み取っているようです。
.htaccess
ファイルに/を入れて構文エラーを発生させると、500サーバーエラーが発生します。
ルールがキャッシュされている場所はありますか?私はこれまでこの問題を経験したことがありません!
[〜#〜] edit [〜#〜]:Options -Multiviews
ファイルに.htaccess
を追加することで、この問題を解決しました
キャッシュがサーバー側ではなくクライアントで発生するかどうかを確認する価値があるかもしれません。 Firefoxは、301(PERMANLTYが移動)をキャッシュします-数日間リダイレクトされます。 302(一時)リダイレクトを使用します。 「古いターゲット」を修正するには、Firefoxがキャッシュを使用しないように別のドメイン(wwwなしなど)などにリダイレクトするhtmlページを設定できます。
ルールがキャッシュされている場所はありますか?私はこれまでこの問題を経験したことがありません!
(通常)サーバー側ではなく、クライアント/ブラウザー側。ブラウザもキャッシュクリーンアップしてみてください
編集1
提案:docrootから.htaccessファイルを移動します。まだアクティブな書き換えルールがある場合、それらはどこかにある必要があります:docrootまたは<virtualserver>
-- configのいずれかです。 docrootのhtaccessを無効にするには、server-configに以下を追加します。
<virtualHost>
...
DocumentRoot /some/path
...
<Directory /some/path>
AllowOverride None
</Directory>
</VirtualHost>
Server-ConfigにRewriteRuleがなく、上記のスニペットでまだ書き換えが行われていると確信している場合は、魚の匂いがします
これはすべての人に役立つわけではありませんが、私の場合、サイトの親ディレクトリに.htaccessの古いコピーがあり、実際にはApache htdocsフォルダから数ディレクトリ上にあり、Apacheがディレクトリツリーをトラバースしているようです。これと私の.htaccessを私のhtdocsフォルダにマージする必要があります。この誤ったファイルを発見して削除すると、死なないリダイレクトがリダイレクトを停止しました。
追加 Options -Multiviews
の中に .htaccess
ファイル。
Adam が回答しましたが、表示されなかったので、ここにあります。