先週私は自分のウェブサイトをHTTPからHTTPSに変更しました。
.htaccess
の301リダイレクトルールにもかかわらず、すべての古い(HTTP)ページは何らかの理由で302リダイレクトでリダイレクトされます。私はこれが何であるかを見つけることができず、まったくプラグインを変更しませんでした。私が作成した唯一のものは.htaccess
の追加のルールでした。ウェブサイトのURL = https://www.janjippe.nl/
これが私の.htaccess
ファイルの概要です。
#BEGIN Wordpress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{HTTP_Host}%{REQUEST_URI} [R=301,L]
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] </IfModule>
# END WordPress
しかし、現在のところ、すべてのページをチェックしたときに302リダイレクトしか表示されません。どのように私は302リダイレクトの代わりに301リダイレクトがあることを確認することができますか。
これはprivate_html
フォルダにとって重要です。
public_html
フォルダーは、次の内容を含む1 .htaccess
ファイルを除いて空です。
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.janjippe.nl/$1 [R,L]
<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=31536000"
</IfModule>
# BEGIN WpFastestCache
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
AddDefaultCharset UTF-8
RewriteCond %{HTTP_Host} ^janjippe.nl
RewriteRule ^(.*)$ http\:\/\/www\.janjippe\.nl\/$1 [R=301,L]
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:X-Wap-Profile} !^[a-z0-9\"]+ [NC]
RewriteCond %{HTTP:Profile} !^[a-z0-9\"]+ [NC]
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/all/$1/index.html -f [or]
RewriteCond /home/janjikm99/domains/janjippe.nl/public_html/wp-content/cache/all/$1/index.html -f
RewriteRule ^(.*) "/wp-content/cache/all/$1/index.html" [L]
</IfModule>
<FilesMatch "\.(html|htm)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Mon, 29 Oct 1923 20:30:00 GMT"
</ifModule>
</FilesMatch>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.janjippe.nl/$1 [R,L]
.htaccess
にあるあなたの「古い」/public_html/.htaccess
ファイルは、疑わしい302リダイレクトを持つように見えます。明示的なステータスコードがないと、R
フラグはデフォルトの302になります。
SSLの実装の一環としてサイト全体が/private_html
フォルダーに移動された場合、HTTP(ポート80)は/public_html
から提供され、HTTPS(ポート443)は/private_html
から提供されるように見えます。 (これはちょっと奇妙な設定で、(誤って)それぞれに異なるコンテンツを提供することができます - これは悪い考えです。)
このような場合は、おそらく古い/public_html/.htaccess
ファイルを単に読むように変更できます。
Redirect 301 / https://www.example.com/
そして 潜在的に /private_html/.htaccess
ファイル内のHTTPからHTTPSへのリダイレクトのリダイレクトは、とにかくHTTPS経由でのみアクセスされるように思われるので/private_html
で!ただし、構成に変更があった場合に備えて、このリダイレクトを適切な場所に保持することをお勧めします。
(注:一時的な302リダイレクトはキャッシュされないため、最初にテストするほうが簡単です。誤ったリダイレクトがキャッシュされると、デバッグが混乱する可能性があります。)