ApacheのRedirectMatchディレクティブを使用して、すべてのユーザをHTTPS URL にリダイレクトしようとしている状況があります(を除く)。私はディレクティブでそれを使用しようとすると、Apache内のユーザスペースURLを無効にする
^((?!andy).)*$
:しかし、私は、ユーザー名を否定正規表現コードの一部を発見した
RedirectMatch ^((?!andy).)*$ https://www.example.com/
URLを:
http://www.example.com/~andy/
はまだ取得しますHTTPS URLにリダイレクトされました:
https://www.example.com/
リダイレクトを無視したいとき。 私は正規表現(またはApache)の専門家ではないので、この作業を行う上での助けになると大変感謝しています。
おかげで、 スティーブン
編集: OK、プロットは厚くなる...私はラインコメントアウトした場合:
# RedirectMatch ^((?!andy).)*$ https://www.example.com/
をし、Apacheを再起動し、URL試してみてください。
をhttp://www.example.com/andy
私は404応答を得ますが、これは予想されます。しかし、私はURLをしようとした場合:
http://www.example.com/~andy
リダイレクトがトリガされたと私はにリダイレクトしています:
https://www.example.com/
と私が言ったように、リダイレクトがコメントアウトされており、私は、サーバーを再起動しました。これはどうしたらできますか?これは単なる正規表現ではなく、Apacheが指示なしにリダイレクトしているようです。
は慎重に(代わりにmod_aliasのmod_rewriteのを使用します)ランディーなど私はあなたが見ている動作を説明することはできません。 –