添加新条件后,重写规则重定向不正确

时间:2015-05-21 15:47:35

标签: regex apache .htaccess mod-rewrite

我们有一个.htaccess重写规则,它强制我们的所有页面都使用HTTPS。

我们需要阻止重定向一个页面。

以下内容可以使用,但不是阻止该页面重定向,而是将其重定向到站点的索引。

# Redirect all non-ssl to ssl.
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^\/newsletter\/
RewriteRule (.*) https://%{HTTP_HOST}/$1 [L,R]

我们已在此处检查了我们的预期结果:http://htaccess.madewithlove.be/

我们得到了正确的结果。该页面通过302重定向重定向到主页。这可能是什么问题?

1 个答案:

答案 0 :(得分:1)

在.htaccess中尝试使用此规则作为非常第一的规则

# Redirect all non-ssl to ssl.
RewriteCond %{HTTPS} off
RewriteCond %{THE_REQUEST} !/newsletter/
RewriteRule (.*) https://%{HTTP_HOST}/$1 [L,R]

使用THE_REQUEST代替REQUEST_URI,因为此规则之前/之后可能还有其他规则。