0

これは私のhtaccessコードです:

RewriteOptions inherit
RewriteEngine on

RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.domain.com/$1 [R=301,L]


AddDefaultCharset utf-8
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_CGI_AUTHORIZATION:%1]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule    ^([0-9A-Za-z]{12})(\/.+|\.html?|$)   /cgi-bin/index_dl.cgi?op=download1&id=$1&fname=$2 [L]
RewriteRule    ^ot:(.*)             /cgi-bin/index_dl.cgi?op=download1&otid=$1 [L,B]

現在、すべてを SSL にリダイレクトしています。ただし、ファイル名がこの基準を満たすようにしたい

RewriteRule    ^([0-9A-Za-z]{12})(\/.+|\.html?|$)   /cgi-bin/index_dl.cgi?op=download1&id=$1&fname=$2 [L]

非SSLのみを許可する必要があります

私はグーグルでグーグルで検索しましたが、これを行う方法がわかりません。

どんな助けでも大歓迎です:)

4

1 に答える 1

0

リダイレクトを行うルールでは、除外条件を追加するだけです:

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/([0-9A-Za-z]{12})(\/.+|\.html?|$)
RewriteRule ^(.*)$ https://www.domain.com/$1 [R=301,L]

または、ルールのパターンと組み合わせることができます。

RewriteCond %{HTTPS} off
RewriteRule !^([0-9A-Za-z]{12})(\/.+|\.html?|$) https://www.domain.com%{REQUEST_URI} [R=301,L]

編集:

そのパターンの SSL リクエストを非 SSL にリダイレクトするには、これを他のリダイレクト ルールのすぐ下に追加します。

RewriteCond %{HTTPS} on
RewriteRule ^([0-9A-Za-z]{12})(\/.+|\.html?|$) https://www.domain.com%{REQUEST_URI} [R=301,L]
于 2013-08-28T09:03:07.807 に答える