簡體   English   中英

將網站更改為ssl安全后解析頁面時從URL中刪除了斜杠

[英]Slash removed from URL when resolving page after changing site to ssl secure

我最近使我的網站ssl安全了。 從那時起,我注意到,如果我將網站上某個頁面的URL粘貼到瀏覽器的URL欄中,則當該頁面嘗試解析時,該URL會變形,並且找不到該頁面。 它總是看起來像是在域和以下目錄之后刪除斜杠,因此

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

與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的在線文檔,這些示例不包含尾部斜杠。 但是,正如該線索所揭示的那樣,這對我而言是一個問題。

您的域名注冊商應該與此問題無關。 他們將請求發送到域名Waynecbent.com到您的托管人,然后由托管人處理請求。 我相信該動作會根據您的http標頭正確執行。

這個問題幾乎可以肯定是由有缺陷的mod_rewrite規則引起的,因此您必須粘貼所有htaccess或apache config重寫規則來解決該問題。

如果您沒有重寫規則,那么您的托管服務提供商已將ssl處理弄亂了,但這是我最后的猜測。

對該網址的請求被重定向到錯誤的網址302,這意味着服務器上的某處正在進行重寫,這是apunt 2.2.22版的ubuntu,因此您可以看到該請求命中了您的服務器,並被重定向至該非存在的網址。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM