【发布时间】:2020-09-26 10:18:50
【问题描述】:
我想知道是否可以将某些特定页面从非 www/http 强制转换为 www/https,并保留其他一些非 www/http 的页面。
示例
从非www/http到www/https:
http://example.com 到 https://www.example.com
但这些将保持非 www 和 http:
我已尝试在 htaccess 文件中添加此规则条件:
RewriteEngine On
# Enable HTTPS and WWW for homepage
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{HTTPS} off
RewriteRule ^$ https://example.com/ [R=301,L]
# Disable HTTPS and WWW for all pages
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{HTTPS} on
RewriteRule . http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
然后它应该强制 https 和 www 只是主页并将 /folder1/ 和 /folder2/ 等其他页面留给 htpp 非 www。
但似乎效果不佳
【问题讨论】:
-
“但似乎效果不佳”究竟是什么意思?它是否有效但未达到预期?它有时会起作用吗?某事有效,其他事无效,哪个?您的错误日志文件中是否有任何条目?宇宙会内爆吗?
-
第二部分永远不会奏效。它尝试从 https 协议重定向到 http 协议。今天的浏览器都不会出于很好的理由遵循这样的重定向。它们都会显示错误或警告并提示用户做什么。根本没有办法解决这个问题。再说一遍:有很好的理由......
-
其实这整个问题听起来有点像“xy 问题”。这样您就没有告诉我们您的实际问题,而是询问您如何实施您认为可以解决您的实际问题的一些想法。我建议您改为提出您的实际问题。
标签: .htaccess mod-rewrite http-redirect