改变站点SSL安全解决之后页面时斜杠从URL删除(Slash removed from URL wh

2019-10-28 16:13发布

最近我做了我的网站之一SSL安全。 从那时起,我发现,如果我贴在网站上的网页在浏览器地址栏的一个,当页面尝试解析的网址,该网址获得错位和页面没有找到。 什么它总是出现做的是域和以下目录后删除斜线,所以

waynecbent.com/html/somefile.html

变为:

waynecbent.comhtml / somefile.html

起初我以为这是一些我的浏览器在做,但从那时起我就发现了这个发生在不同平台上的不同的浏览器。

我联系了自己的域名提供商(Namecheap),但他们说这是与主机的一个问题。

我对网站的配置如下:

<VirtualHost *:443>
  ServerName www.waynecbent.com
  DocumentRoot /home/<redacted>/public_html
  SSLEngine on
  SSLCertificateFile "/home/<redacted>/ssl/<redacted>.crt"
  SSLCertificateKeyFile "/home/<redacted>/ssl/<redacted>.pem"
  SSLCACertificateFile "/home/<redacted>/ssl/<redacted>_bundle"
</VirtualHost>
<VirtualHost *:443>
  ServerName waynecbent.com
  DocumentRoot /home/<redacted>/public_html
  SSLEngine on
  SSLCertificateFile "/home/<redacted>/ssl/<redacted>.crt"
  SSLCertificateKeyFile "/home/<redacted>/ssl/<redacted>.pem"
  SSLCACertificateFile "/home/<redacted>/ssl/<redacted>_bundle"
</VirtualHost>

没有人知道为什么这可能是?

谢谢,化Allasso

Answer 1:

域名注册机构应该什么都没有做这个问题。 他们将请求发送到域waynecbent.com到您的托管商,然后处理请求。 这一行动正确我根据你的HTTP头相信发生。

这个问题几乎可以肯定是由有缺陷的mod_rewrite规则引起的,所以你必须在所有的htaccess或Apache配置重写规则来解决这一问题进行粘贴。

如果你没有重写规则,那么你的托管商搞砸了的东西与SSL处理,这将是我最后的猜测不过。

到URL的请求302重定向到URL不好,这意味着有一个重写你的服务器,这是Ubuntu的使用Apache 2.2.22上的某个地方去,所以你可以看到请求打你的服务器,并重定向到非存在的URL。



Answer 2:

很密切的关系Lizardx的解决方案,我有一个Redirect这是不正确写入指令:

<VirtualHost *:80>
  ServerName waynecbent.com
  Redirect "/" "https://waynecbent.com"
</VirtualHost>

我需要在域名之后添加斜线:

Redirect "/" "https://waynecbent.com/"

我要接受Lizardx的非常翔实的答案是催化剂和认识有一个重定向发生。

编辑:

参考下面Lizardx的评论,似乎可以使用Redirect指令,做一个永久重定向以下几种方式:

Redirect 301 "/" "https://example.com/"
Redirect permanent "/" "https://example.com/"

我还注意到,一些在线文档我已阅读使用有关Redirect重定向非SSL网址到SSL给出例子不包括结尾的斜线指令。 然而,由于该线程已经显露出来,这引起了我的情况的问题。



文章来源: Slash removed from URL when resolving page after changing site to ssl secure
标签: apache ssl