【发布时间】:2016-05-11 23:33:25
【问题描述】:
我有一种情况,我需要强制我网站中的每个页面都重定向到 HTTP,但需要强制重定向到 HTTPS 的两个特定 URL 除外。
需要重定向到HTTPS页面的两个页面是:
/microsoft-moc-on-demand-video-training/moc-registration-page/
/课程/注册/
我在 .htaccess 文件中使用的代码如下所示:
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/courses/register/
RewriteCond %{REQUEST_URI} !^/microsoft-moc-on-demand-video-training/moc-registration-page/
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(/courses/register/|/microsoft-moc-on-demand-video-training/moc-registration-page/)/ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
不幸的是,这似乎不起作用。整个站点确实重定向到 HTTP(因此部分代码有效),但是这两个异常(应该重定向到 HTTPS)并没有这样做,它们保持为 HTTP 链接。
知道我在这里做错了什么吗?
【问题讨论】:
-
只是一个相关的问题:为什么不将所有内容重定向到 https?如果您操纵个人资料或信用卡信息,我强烈建议您在整个网站上使用https,以免出错...
标签: .htaccess mod-rewrite https