2

私の .htaccess には次のものがあります - クリーン URL の宣言と https リダイレクトの両方が個別に正常に動作しますが、一緒にすると継続的なリダイレクト エラーが発生します (このサーバーは決して完了しない方法でリダイレクトしています)。

これが私の.htacessです:

RewriteEngine on
# if a directory or a file exists, use it directly 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
# force to use https
#RewriteCond %{HTTPS} !=on 
#RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

どうすればこれを解決できますか?

ありがとうございました

4

1 に答える 1

2

私があなたの同じ問題に遭遇し、ちょうど1日前に対立を理解したので、私が遅れないことを願っています。

.htaccessファイルに次のように記述します。

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

最初のルールは、HTTPリクエストをHTTPSに自動的にリダイレクトし、(重要な[L]タグを介して)ページを台無しにする他の置換を停止します(具体的には、画像とCSSスタイルシートは提供されません)。

2つ目は、特定のURLが実際のファイルまたはディレクトリに対応しているかどうかを確認し、対応していない場合はリクエストをindex.php(Webアプリケーションのブートストラップファイル)に転送するYii推奨の方法です。(その後、アプリケーションの構成ファイルのルールが残りを実行する必要があります)。

于 2012-08-27T14:11:01.767 に答える