Mod rewrite 使目录ssl和所有其他页/目录不是ssl

Mod rewrite 使目录ssl和所有其他页/目录不是ssl,mod-rewrite,apache2,Mod Rewrite,Apache2,请求相当简单。。我想在apache上使用mod_rewrite使目录重定向到我的网站上的ssl,并使其在您导航到该目录之外时“脱离”ssl。使用以下工具进入https非常简单: # Make gift-cards https RewriteCond %{SERVER_PORT} 80 RewriteCond %{REQUEST_URI} gift-cards RewriteRule ^(.*)$ https://%{SERVER_NAME}/staging/$1 [R,L,C] # Mak

请求相当简单。。我想在apache上使用mod_rewrite使目录重定向到我的网站上的ssl,并使其在您导航到该目录之外时“脱离”ssl。使用以下工具进入https非常简单:

# Make gift-cards https
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} gift-cards 
RewriteRule ^(.*)$ https://%{SERVER_NAME}/staging/$1 [R,L,C]

# Make all other pages normal
RewriteCond %{SERVER_PORT} 443
RewriteCond %{REQUEST_URI} !gift-cards 
RewriteRule ^(.*)$ http://%{SERVER_NAME}/staging/$1 [R,L]
但事实证明,突发事件是一个小问题,我真的不知道发生了什么。。由于某些原因,我的“使所有其他页面正常”规则似乎不起作用,如果我不使用C将这两个页面链接在一起,我会收到一条有趣的“找到”消息


谢谢

我实际上解决了这个问题,找到了问题的根源,并使用wordpress SSL插件为我完成了这一切


我想我可能用这种方法找错了方向,因为那样我就不得不担心通过http等加载所有资源。

请注意,礼品卡在文件系统上不是一个真正的目录,稍后它会被重新写入index.php等。。因为我在wordpress上使用这个。wordpress规则如下,这是第一条。由于这些规则使用L修饰符,因此如果它们匹配,则是最后一次运行。