2

私たちは数十のWebサイトにサービスを提供しており、仮想ホスト固有の書き換えルールを実行したくありません。基本的に、すべての/info/ページがHTTPS経由で提供されないようにする必要があります。

現在、これがあります:

RewriteRule ^/info/([A-Za-z_.0-9-]*) /info.jsp?LinkName=$1 [PT,QSA,L]

書き換えルールを次のように変更できると思いました。

RewriteRule ^/info/([A-Za-z_.0-9-]*) http://%{SERVER_NAME}/info.jsp?LinkName=$1 [PT,QSA,L]

また

RewriteRule ^/info/([A-Za-z_.0-9-]*) http://%{HTTP_HOST}/info.jsp?LinkName=$1 [PT,QSA,L]

また

RewriteRule ^/info/([A-Za-z_.0-9-]*) http://%{HTTP_HOST}/info.jsp?LinkName=$1 [PT,QSA,L,R=301]

等...

しかし、私が何をしても、変数を含む再書き込みルールの変更を行うとき、これらの情報ページにアクセスすると404になります。

「不正なリクエストブラウザが、このサーバーが理解できないリクエストを送信しました。」

前もって感謝します

4

2 に答える 2

2

完全修飾URLに書き換える場合は、 passthrough( )フラグを使用できないと思います。PTこれは、クライアントリダイレクトとして処理する必要があります。PTに置き換える(またはすでにフラグがある場合はフラグをR削除する)と、機能するはずです。PTR

于 2012-08-08T17:38:22.257 に答える
1

info.jspに書き換えるためにすでに持っているルールは問題ありません。ただし、その前にいくつかのルールを追加する必要があります。

RewriteCond %{HTTPS} on
RewriteRule ^/?info/ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
于 2012-08-08T20:11:19.480 に答える