3

httpリクエストをhttpsにリダイレクトするために、.htaccessファイルに次のものがあります

RewriteEngine On

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTP_HOST} ^newco.local,^newco.dev
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

これはFirefoxでは正しくリダイレ​​クトされますが、ChromeやSafariではリダイレクトされません。これはhttp://newco.phpfogapp.comのphpfog でホストされています。ssl は負荷分散で終了するため、%{HTTP:X-Forwarded-Proto} を使用して https を確認する必要がありました。これにより、他のブラウザで問題が発生する可能性はありますか? 何か案は?

4

1 に答える 1

-1

%{HTTPS}変数を試してください。

リクエストが の場合HTTPSは変数 = on、それ以外の場合は =offです。

コード例:

RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^newco.local,^newco.dev
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

Apache Mod_Rewriteの完全なドキュメントはこちら

于 2012-06-23T04:50:24.123 に答える