Я хочу перенаправить все страницы без www на https://, но только домашняя страница делает это, как и ожидалось. То есть http://kraftgiftbox.com будет перенаправлять на https://www.kraftgiftbox.com/ как я и предполагал, это нормально! Но ни одна из страниц подуровня, как и https://kraftgiftbox.com/odd-shape-boxes.html, не будет перенаправлять на версию с www. У меня был файл .htaccess следующим образом:
RewriteOptions inherit
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ https://kraftgiftbox.com/$1 [R,L]
ErrorDocument 404 /404.shtml
RewriteCond %{HTTP_HOST} ^kraftgiftbox\.com$
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^/?$ "https\://www\.kraftgiftbox\.com/" [R=301,L]
Может ли кто-нибудь помочь мне исправить код? Спасибо!





Последняя строка правил вызвала это, поскольку вы захватываете только корневой запрос этим RewriteRule ^/?$, чтобы добиться того, что вы хотите, попробуйте следующее:
ErrorDocument 404 /404.shtml
RewriteOptions inherit
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?kraftgiftbox\.com$ [NC,OR]
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ https://www.kraftgiftbox.com/$1 [R=301,L]
Приведенные выше правила будут делать и то, и другое, заставляя https и www также.
Примечание очистить кеш браузера, затем проверить.