2

次の問題があります。一部のページを https で保護されたリンクにリダイレクトする必要があるサイトがあります。

私はいくつかのことを試しましたが、最終的にはサーバーがリダイレクトのループに陥っているようです:(

今、私はすべてのページを https ページにリダイレクトしますが、それは私が望むものではありません。

これは私が今使っているコードです:

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

bo-have https で始まるすべての URL が必要です。

例:

http://www.domain.nl/bo-users -> redirects to https://www.domain.nl/bo-users
http://www.domain.nl/bo-groups -> redirects to https://www.domain.nl/bo-groups

しかし

http://www.domain.nl/about-us -> stays at http://www.domain.nl/about-us

bo-で始まるすべてのURLの書き換え条件にワイルドカードが必要であることは明らかです。サーバーでApacheを使用しています。誰かが私を正しい方向に送ってくれることを願っています。

ありがとう、

フランク


Anubhava からのヒントの後に更新します。

私は現在、このhtaccessを持っていますが、動作させることができません(ブラウザのキャッシュをクリアしても)

Options +FollowSymlinks
RewriteEngine On
RewriteBase /


RewriteCond %{HTTP_HOST} ^www.domain\.nl$ [NC]
RewriteCond %{HTTPS} on
RewriteRule !^bo- http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NC,NE]

RewriteCond %{HTTP_HOST} ^www.domain\.nl$ [NC]
RewriteCond %{HTTPS} off
RewriteRule ^bo- https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NC,NE]


#rewrites een url to www. 
RewriteCond %{HTTP_HOST}  ^[a-z0-9-]+\.[a-z]{2,6}$ [NC]
RewriteRule ^(.*)$        http://www.%{HTTP_HOST}/$0 [L,R=301]


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L]

さらなる助けを願っています!ありがとう、フランク

別の通話を開始しました。最初の答えはうまくいきました!

4

1 に答える 1

0

次のルールを使用します。

# force HTTPS for bo- URIs
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.nl$ [NC]
RewriteCond %{HTTPS} off
RewriteRule ^bo- https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NC,NE]

# force HTTP for non bo- URIs
RewriteCond %{HTTP_HOST} ^www.domain\.nl$ [NC]
RewriteCond %{HTTPS} on
RewriteRule !^bo- http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NC,NE]
于 2013-10-16T14:38:35.003 に答える