2017-05-05 4 views
1

自分のサイトのメンテナンスページを設定します。そのため、ユーザーが訪問すると、503ステータスが返され、カスタムmaintenance.phpページにリダイレクトされます。それで、うまく動作し、自分のブラウザで、検索アドレスバーにURLを手動で入力する限り、503が正しく返されていることがはっきり分かります。HTTPSのステータスを503に設定するにはどうすればよいですか?

誰かがリファラーから特定のページへのリンクをクリックした場合、Facebookからmaintain.phpページにリダイレクトされますが、何らかの理由でそれに関連付けられたCSSファイルや画像が読み込まれない場合があります。 CSSファイルと画像は突然503のステータスも返します。

私のサイトは、デフォルトで "http"ページを "https"と "www"を使用するようにリダイレクトします。 「http」で同じページを実行すると、CSSファイルと画像が読み込まれます。

次に、URLに「www」がない「https」でページを実行すると、ページにCSSファイルと画像が読み込まれます。だから、限り、「https」のように思えると、URLの両方でページ「WWW」で、そのCSSファイル、およびそのイメージはすべて503

を返します私の503のステータスがに設定されている

私の.htaccessファイル:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REMOTE_ADDR} !^123\.45\.67\.89$ 
RewriteCond %{DOCUMENT_ROOT}/maintenance.php -f 
RewriteCond %{DOCUMENT_ROOT}/maintenance.enable -f 
RewriteCond %{SCRIPT_FILENAME} !maintenance.php 
RewriteRule ^.*$ /maintenance.php [R=503,L] 
ErrorDocument 503 /maintenance.php 
Header Set Cache-Control "max-age=0, no-store" 

サーバーはApacheを実行しています。 URLに「https」と「www」を含むリンクをクリックしたときにCSSファイルと画像が読み込まれるようにするための設定はありますか?

編集:この問題のページには、maintenance.phpへのURLのリダイレクトもありません。これにもかかわらず、彼らはまだmaintain.phpの内容を表示します。

答えて

1

解決方法は簡単でした。私のmaintenance.phpでは、CSSファイルと画像の代わりに絶対パスに相対パスを変更する必要がありました。

すなわち

もともと:

<link href="/css/maintenance.css" rel="stylesheet" type="text/css"> 

<link href="css/maintenance.css" rel="stylesheet" type="text/css"> 

に変更

関連する問題