在仍在提供SSL时,请从URL中删除https://



我试图重写浏览器中显示的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]

在这方面的任何帮助都非常感谢!

我正在尝试重写浏览器中显示的URL以消除https://部分。

我很想看到您的"尝试"。为什么要这样做?

基本上,您不能。

您无法控制如何浏览器显示协议(即 httpshttp(或url的任何部分,在浏览器的中地址栏。并且任何"重写" URL删除https://的尝试仅可能阻止您的网站在SSL上提供内容 - 这不是您的意图。更改浏览器地址栏中URL外观的唯一方法是更改物理URL。这是基本的浏览器安全性 - 网站应该无法控制此行为。您不希望该网站假装是不是(即网络钓鱼(。

但是,有些浏览器确实允许用户在某种程度上控制此行为。例如,默认情况下,Opera将显示一个更友好的URL,省略HTTP协议甚至查询字符串。但是,这种"友好"的显示格式可以在设置中禁用以显示完整的"真实" URL。

通常,默认情况下,浏览器在通过普通http上服务时倾向于隐藏协议,并仅在通过HTTPS服务时显示它 - 向用户提供了该站点安全的附加指示。删除协议的任何尝试都只会打扰用户信任。

最新更新