2

我有以下问题。我有一个网站,其中某些页面必须重定向到链接的 https 安全等效项。

我尝试了几件事,但最后似乎服务器以循环重定向结束:(

现在我将每个页面都重定向到 https 页面,但这不是我想要的。

这是我现在使用的代码:

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

我想拥有以 bo- 开头的所有网址 - 有 https。

例子:

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 回答