【发布时间】:2012-09-07 14:28:33
【问题描述】:
我正在尝试将所有 http://www.example.com/* 网址重写为 https://www.example.com/,但某些页面除外。我可以让 catch all rewrite 正常工作:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
但是,如果我尝试在 catch all home page forward 之前添加异常,它们将不起作用。另外,如果我只是尝试自己添加它们,(注释掉前面的规则),它们不起作用。
RewriteCond %{SERVER_PORT} 80
RewriteRule ^/?products/(.*) https://%{SERVER_NAME}/products/$1 [R,L]
所以,我想对网站上的一些页面进行简单的 http->https 重写。
例如,如果有人去http://.../products,他们应该被转发到https://.../products。
另外,我想确保我的任何规则都适用于 www.example.com/products 和 example.com/products。
【问题讨论】:
-
你的规则是什么?这两个都对我有用。一定有一些订购问题。
-
这些是 .htaccess 文件中的最后几行。我是否需要展示我在这些之上的其他规则?