У меня есть давний блог, который использовал формат дня и имени:
https://www.example.com/2018/05/30/sample-post/
После первого года я решил, что мне будет лучше без даты в URL.Я изменил свои постоянные ссылки в WordPress, а затем добавил в файл htaccess следующее, чтобы перенаправить старые сообщения:
RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(?!page/)(.+)$ http://www.fakedomain.com/$4
Это работало хорошо, пока через пару лет я не перешел на SSL,Затем я просто изменил приведенное выше правило так:
RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(?!page/)(.+)$ https://www.fakedomain.com/$4
Все работает просто отлично.Тем не менее, "Почему нет замка?"помечает его как:
Ваш веб-сервер не форсирует использование SSL. Возможно, вы захотите добавить перенаправление, чтобы убедиться, что используется безопасное соединение.
Затем он рекомендуетчто я добавляю это в htaccess:
RewriteCond %{HTTP_HOST} fakedomain\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.fakedomain.com/$1 [R,L]
Однако, если я добавлю это, сайт сломается. Я недостаточно понимаю правила, каков наилучший способ использовать перенаправление SSL в сочетании со старымredirect?
В качестве примечания, у меня есть и другие домены, так что там уже есть некоторые другие правила. Я не думаю, что это должно повлиять на вышесказанное, но решил, что упомяну этоесли это актуально:
RewriteCond %{HTTP_HOST} ^anotherdomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.anotherdomain\.com$
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^/?$ "http\:\/\/www\.andanotherdomain\.com" [R=301,L]