HTTPからHTTPSにリダイレクトさmod_rewriteの無限リダイレクト

wlq:

.htaccessファイルを以下のように見えるとのindex.php?サイト=ページへwebsite.com/pageまたはwebsite.com/page/からのトラフィックをリダイレクトでうまく機能、およびwebsite.com/page/subpage/からのindex.phpへ?サイト=ページ&サブ=サブページ。

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]

RewriteRule ^([^/]+)$ index.php?site=$1 [QSA]
RewriteRule ^([^/]+)/$ index.php?site=$1 [QSA]
RewriteRule ^([^/]+)/([^/]+)/$ index.php?site=$1&sub=$2 [QSA]

HTTPからのトラフィックをリダイレクトしようとしたときに問題がポップアップ表示されます:// httpsに://で

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]

私はウェブサイト上であまりにも多くのリダイレクトがあることをメッセージに関係なく、どのようなURLを受け取ります。あなたは間違っているものを知っていますか?

anubhava:

あなたのルールは次のようにする必要があります:

RewriteEngine On

RewriteCond %{REQUEST_SCHEME} =http
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NE,L]

RewriteRule ^([^/.]+)/?$ index.php?site=$1 [QSA,L]
RewriteRule ^([^/.]+)/([^/.]+)/?$ index.php?site=$1&sub=$2 [QSA,L]

古いブラウザのキャッシュを避けるために、新しいブラウザでテストしていることを確認します。

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=384566&siteId=1