2016-08-17 4 views
0

最近私のウェブサイトの1つが安全になりました。それ以来、私は、ブラウザのURLバーにウェブサイトのページの1つのURLを貼り付けると、そのページが解決しようとしたときにURLがマングルされ、そのページが見つからないことに気付きました。サイトをssl secureに変更した後にページを解決するときにURLからスラッシュが削除されました

waynecbent.comhtml/somefile.html

:何いつものように見えることはとても

waynecbent.com/html/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

+0

が不適切な書き換えルールのようです。 – Lizardx

答えて

1

ドメインレジストラはこの問題とは関係ありません。彼らはwaynecbent.comドメインにあなたのホスティング業者にリクエストを送り、ホスティングがリクエストを処理します。そのアクションは、私はあなたのHTTPヘッダーに基づいて信じて正しく発生します。

この問題は、mod_rewriteルールに欠陥があるため、ほとんどの場合、問題を解決するためにすべてのhtaccessまたはapache config書き換えルールを貼り付ける必要があります。

書き換え規則がない場合、ホスト側がssl処理で何かを混乱させてしまいましたが、それは私の最後の推測です。

URLへのリクエストは、302のURLにリダイレクトされています。つまり、サーバー上のどこかに書き直しがあります。これはApache 2.2.22のubuntuです。その存在しないURLにリダイレクトされます。私は

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

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

私は、ドメインの後に末尾にスラッシュを追加するために必要な:非常に密接にLizardxのソリューションに関連する

0

は、私がきちんと書かれていませんでしたRedirectディレクティブを持っていました触媒となることに対するリザードの非常に有益な答えを受け入れ、リダイレクトが起こったことを認識することになる。

編集:私はまた、いくつかのオンラインドキュメントは、私が読んだことがあることに注意して

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

:以下Lizardxさんのコメントを参照

は、あなたが永久的なリダイレクト、次の方法を実行するためにRedirectディレクティブを使用することができます表示されます非SSL URLをsslにリダイレクトするためにRedirectディレクティブを使用することについては、末尾にスラッシュが含まれていない例を挙げてください。しかし、このスレッドが明らかにしたように、これは私の場合に問題を引き起こしました。

+0

リダイレクトを301リダイレクトに修正したい場合は、それ以外の場合は古いURLを最初に試し続けます.http://301.30は永続的、302は一時的です。私は短いリダイレクト形式を使用しないのでわかりません正しい構文が301を強制するためにそこにあります。 – Lizardx

関連する問題