【发布时间】:2012-04-11 13:23:44
【问题描述】:
我需要能够将单个页面从标准 http 重定向到 https。比如我想从http://domain.com/quote.php转到https://domain.com/quote.php。
到目前为止,我在 .htaccess 文件中使用此代码,它适用于初始重定向。
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^quote.php https://domain.com/quote.php [R=301,L]
我的问题是,一旦我访问了 quote.php 页面并被重定向到 https 版本,我导航的所有其他站点页面都将继续使用 https 协议。这是一个潜在的重复内容问题,因为我现在可以通过 http 和 https 访问相同的内容。
所以我想要做的是能够进行上述重定向,然后以某种方式对除 quote.php 之外的所有页面反向执行相同的操作。因此,如果您尝试通过 https 访问它们,它将重定向到默认的 http 版本。
我在整个站点中都使用相对 URL,因此我不能简单地在 https/http 前缀中进行硬编码。如果可能,我需要能够通过 .htacess 执行此操作。
非常感谢任何帮助。
【问题讨论】:
-
您可能对this answer 感兴趣:按照您的计划使用重定向可能无法达到您想要的安全程度。此外,根据您的用户是否登录,您可能需要注意您在
http和https变体之间共享的身份验证令牌或会话 ID。如果你的用户对https做了一些敏感的事情,那么就没有办法回到普通的http。