我正在尝试重写浏览器中显示的网址,以消除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]
非常感谢在这方面的任何帮助!
答案 0 :(得分:2)
我正在尝试重写浏览器中显示的网址以消除
https://
部分。
我很想看到你的尝试"。你为什么要这样做?
基本上,你不能。
您无法控制 浏览器显示协议(例如https
或http
)或其中的任何部分该问题的网址,在浏览器的地址栏中。任何尝试"重写"要删除https://
的网址只会阻止您的网站通过SSL提供内容 - 这不是您的意图。在浏览器的地址栏中更改URL的外观的唯一方法是更改物理URL。这是基本的浏览器安全性 - 网站不应该能够控制此行为。您不希望网站能够伪装成不是它的东西(即网络钓鱼)。
但是,某些浏览器确实允许用户在某种程度上控制此行为。例如,Opera默认会显示更友好的URL,省略HTTP
协议甚至查询字符串。但是,这个友好的"可以在设置中禁用显示格式,而不是显示完整的"真实" URL。
通常,默认情况下,浏览器倾向于在通过普通HTTP提供服务时隐藏协议,并仅在通过HTTPS提供时显示协议 - 这是用户对网站安全的另一个指示。任何删除协议的行为都只会扰乱用户信任。