所以,我得到了 ZF MVC 站点,并想在我的/checkout/下的所有内容上强制使用 SSL 连接我尝试为此使用 mod_rewrite,所以我的 .htaccess 看起来像这样:
RewriteEngine on
RewriteRule (\/checkout.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R]
RewriteRule !\.(js|ico|gif|jpg|png|css|swf|xml|avi|flv|mov|mp3|wav)$ index.php [L]
果然,它确实启动了 SSL,但第二条规则是 ZF 特定的,并将所有内容重定向到 index.php 有点删除协议(protocol)规范。
不幸的是,我对 mod_rewrite 的熟练程度非常糟糕。也许有人可以帮我解决这个问题?
Tim Lytle 的答案大部分都在那里。
我会更改它以更严格地检查 HTTPS,并且标志需要一个分隔符。
RewriteCond %{HTTPS} !^on$
RewriteRule ^/checkout/? https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
RewriteRule !\.(js|ico|gif|jpg|png|css|swf|xml|avi|flv|mov|mp3|wav)$ index.php [L]
我是一名优秀的程序员,十分优秀!