最近、ウェブサイトを https アクセスに変換したいのですが、すべて完了した後、Baidu Webmaster Platform にアクセスして https を認証しましたが、どのように送信しても、「http サイトを 301 で https サイトにリダイレクトしてください」というメッセージが表示され続けました。Baidu Webmaster Community で質問しましたが、誰も答えてくれなかったので、自分で解決する必要がありました。後で理由が分かりました。Baidu の https 認証は 301 リダイレクトに厳密に従っています。私は IIS6 を使用していましたが、以前のコードは次のとおりでした。 RewriteEngine オン 書き換え条件 %{SERVER_PORT} !^443$ 書き換えルール (.*) https://%{SERVER_NAME}/$1 [R] この書き方では、すべての http を https にリダイレクトできますが、Baidu Webmaster プラットフォームには合格しません。最終的に、コードは次のように修正され、合格しました。 RewriteEngine オン 書き換え条件 %{SERVER_PORT} !^443$ 書き換えルール ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301] 以下に、さまざまなウェブサイト環境で https (ssl) を展開した後に 301 リダイレクトを設定するためのコードを集めて整理しました。皆様のお役に立てれば幸いです。 Linuxt システム Apache 環境 クラウド サーバー:対応するサイトのルート ディレクトリに .htaccess という名前の新しいファイルを作成します (FTP 経由、または wdcp 管理パネルにログイン: サイト リスト - ドキュメント管理 - public_html を入力 - ファイルの作成)。 仮想ホスト: FTP 経由でホスト管理パネル - ファイル管理に入るか、ログイン後に wwwroot に入り、.htaccess ファイルという名前の新しいファイルを作成して保存します。 .htaccess ファイルを編集し、次のルールを追加します。 <IfModule mod_rewrite.c> RewriteEngine オン 書き換え条件 %{HTTP:From-Https} !^on$ [NC] RewriteRule ^(.*)$ https://www.abc.com/$1 [R=301,L] # www.abc.com を独自のドメイン名に変更します RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ https://www.abc.com$1 [R=301,L] # www.abc.com を自分のドメイン名に変更します</IfModule> Nginx 環境 nginxサイト設定ファイルを編集します(wdcp管理パネルにログイン:サイトリスト-ドキュメント管理-仮想ホストサイトファイルnginx-対応するサイト設定ファイル)、次のルールを追加します。 サーバ { 聞く 80; サーバー名 abc.com; rewrite ^(.*) https://www.abc.com$1 permanent; # abc.com を自分のドメイン名に変更します} Windows システム II7 環境 クラウド サーバー:対応するサイトのルート ディレクトリに (FTP 経由、またはログイン後に D:\wwwroot\site ftp naming directory\wwwroot を直接入力)、web.config という名前の新しいファイルを作成し、それを編集して次のルールを追加します。 <?xml バージョン="1.0" エンコーディング="UTF-8"?> <構成> <システム.Webサーバー> <書き直し> <ルール> <ルール名="301" stopProcessing="true"> <match url="^(.*)$" ignoreCase="false" /> <条件論理グループ="MatchAll"> <add input="{HTTPS}" pattern="^on$" negate="true" /> </条件> <action type="Redirect" url="https://www.abc.com/{R:1}" redirectType="Permanent" /> # www.abc.com を自分のドメイン名に変更します</rule> </ルール> </書き換え> </system.webServer> </構成> 仮想ホスト: FTP またはログインを介してホスト管理パネルのファイル管理に入り、wwwroot を入力し、web.config という名前の新しいファイルを作成し、次のルールを編集して追加します。 <?xml バージョン="1.0" エンコーディング="UTF-8"?> <構成> <システム.Webサーバー> <書き直し> <ルール> <ルール名="301" stopProcessing="true"> <match url="^(.*)$" ignoreCase="false" /> <条件論理グループ="MatchAll"> <add input="{HTTP_FROM_HTTPS}" pattern="^on$" negate="true" /> </条件> <action type="Redirect" url="https://www.abc.com/{R:1}" redirectType="Permanent" /> # www.abc.com を自分のドメイン名に変更します</rule> </ルール> </書き換え> </system.webServer> </構成> Windows システム II6 環境 Rewrite を設定し、Rewrite ルール ファイル httpd.conf または .htaccess を編集して、次のルールを追加します。 RewriteEngine オン 書き換え条件 %{SERVER_PORT} !^443$ 書き換えルール ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301] tomcat環境 web.xmlの</web-app>の最後の行の前に次のコードを追加します。 <セキュリティ制約> <!-- SSL の認証設定 --> <Web リソース コレクション> <ウェブ リソース名 >SSL</ウェブ リソース名> <urlパターン>/*</urlパターン> </Web リソース コレクション> <ユーザーデータ制約> <transport-guarantee>機密</transport-guarantee> </ユーザーデータ制約> </セキュリティ制約> 注意: 1. discuz が 301 メソッドを使用して http を https に強制的にジャンプすると、バックグラウンドの UC 通信が失敗します。 2. このようにリダイレクトを設定した後、正常にリダイレクトできない場合は、別のサイトバインディングの https ドメイン名を確立し、元のサイトでジャンプルールを設定してください。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 |
<<: MySQL の結合テーブルにインデックスを作成する方法
TensorFlow をディープラーニングに使うとビデオメモリ不足がよく起こるので、GPU 使用状況...
前の 2 つの章を終えて、ボタンのフローティング アニメーションについて新たな理解が得られましたか?...
目次JVM クラスローダーTomcat クラスローダークラスを検索ロードクラスクラスをロードしようと...
1. 設定ファイルディレクトリを作成するcd /ホームディレクトリmkdir frp最終的なディレク...
序文:多くのビジネス テーブルでは、歴史的またはパフォーマンス上の理由により、最初のパラダイムに違反...
オリジナルリンク: https://vien.tech/article/138序文私は、マークダウン...
「読み取り専用」と「無効」はどちらも、ユーザーがフォーム フィールドの内容を変更できないようにします...
最近Bステーションでスマートアンチブロッキング弾幕と呼ばれる弾幕エフェクトを見ました。これは伝説のマ...
目次1. 問題の背景2. 仮想マシン ネットワーク カードの接続方法は何ですか? 2.1 NAT 2...
効果: コード: <テンプレート> <div class="back-t...
この記事では、CentOS 7 環境で MySQL 5.6 の複数のインスタンスを作成する方法につい...
序文この記事では、主にWeb開発のためのクロスドメインソリューションを紹介し、参考と学習のために共有...
目次Vueカスタムディレクティブカスタムディレクティブフック機能出力関連属性アプリケーション例要約す...
docker コマンドを初めて使用する場合、権限の問題を確認するメッセージが表示されます。 unix...
この記事では、例を使用して、MySQL スライディング順序問題の原理と解決方法を説明します。ご参考ま...