我已经在我的网站上安装了Opencart 3.0.2.0,这是在英国的123-reg。SSL似乎安装正确,因为当我输入包含域名的完整https时,所有站点都是安全的。但如果我只输入域名,永远不要去安全的网站。我试过改变.httpaccess.txt,但我发现的都没有用。这就是我现在要强制加载https的内容:
# Force HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>有人能帮帮我吗?我错过了什么环境?是否有可能主办公司没有正确地设置一些东西?谢谢
发布于 2018-10-28 14:13:01
听起来你是在尝试使用opencart的htaccess文件,而不是域的htaccess文件。我不得不重读你最初的帖子,最后才明白这一点。请编辑您的域名的htacess文件。如果您没有htaccess文件,那么您需要创建一个文件。
这通常是在您域的htaccess文件中使用的(不是opencart的htaccess)。我在这里使用example.com作为演示用途,但是用您的域代替它。这还假设您将OC安装/存储保存在子目录/文件夹中(通常是最佳实践),并在www.example.com/store上进行访问。如果这有用的话请告诉我。在我的例子中,您可以看到,在顶部使用选项+跟随符号链接也是非常必要的。但不确定是否需要,因为它可能取决于您正在使用的主机。
为了更好地解释您在这里看到的内容,HTTPS使用默认端口号443,HTTP使用80。因此,您将迫使端口80重定向到HTTPS。这一行涉及"REQUEST_URI“指向您的商店指导玩具。因此,目录中的所有文件都是HTTPS。最后一行还设置页面访问者在键入并转到"www.example.com“时会自动被定向,最终将是www.example.com/store/index.php。如果您没有在您的域的子目录中安装OC,那么您将需要根据您的需要对此进行调整。
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/store/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /store/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ store/index.php [L]https://stackoverflow.com/questions/53014104
复制相似问题