Я обнаружил проблему с моим сайтом электронной коммерции, когда некоторые кнопки не работали, когда вы посещали сайт http://www.example.com.
http://example.com, https://example.com иhttps://www.example.com работал должным образом.
Это перезапись, которая была у меня в месте с вышеописанным сценарием.
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
RewriteCond %{HTTPS_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
Чтобы исправить эту проблему с нерабочими кнопками, я заменилкод выше с этим.
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [L,NE,R=301]
Проблема с нерабочими кнопками теперь исчезла, но я представил еще одну проблему при попытке использовать стороннюю систему для получения заказов с сайта.
При попытке получения заказов стороннее программное обеспечение получает сообщение об ошибке:
«Ввод не является допустимой строкой Base-64, так как содержит не Base-64 символ, более двух символов заполнения,или недопустимый символ среди дополняющих символов. "
Я предполагаю, что это проблема синтаксиса, но если есть лучший способ заставить это работать, я весь слух.