【发布时间】:2017-11-28 17:32:36
【问题描述】:
我正在尝试重写浏览器中显示的 URL 以消除 https:// 部分。由于不熟悉 Apache 编码,我尝试了许多不同的方法来调整其他代码以达到结果,但都没有成功。
我的.htaccess 文件包括310 重定向规则,以及一些重写条件,目前所有这些都有效:
# Force browswer to use SSL, even when referring URL is non-secure
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Catch-all for any potential 404 error (file not found) will
# redirect to the index (/) page
Options +SymLinksIfOwnerMatch
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . / [L,R=301]
非常感谢您在这方面的任何帮助!
【问题讨论】:
-
“在仍然提供 SSL 的同时从 URL 中删除 https://”你不能。 http:// 是通过普通 http 而不是 ssl 提供的。
-
屏蔽真实 URL 是浏览器的一项“功能”(在我看来,这也是造成无限混乱的根源)。 2017 年,所有浏览器供应商似乎都同意展示 SSL 协议。他们可以随时改变主意,但这不是您作为网站管理员可以做的任何事情。
标签: apache .htaccess ssl https url-rewriting