在 Magento 2.4 多店设置中无法访问目录 .well-known

在 Magento 2.4 多店设置中无法访问目录 .well-known

我正在尝试在 Magento 2.4.1 中使用商店视图设置 let's encrypt 证书,但我无法访问.well-known/acme-挑战目录。

在 Apache 2.4 虚拟主机中,我有:

<VirtualHost>
...
#==== LET'S ENCRYPT ====
<Directory "/usr/local/www/apache24/webroot/company/.well-known/acme-challenge">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
...
<VirtualHost>

但是当我尝试访问 Magento storeview .well-known URL 时,出现了 404 未找到错误:

http://www.example.com/.well-known/acme-challenge/

我是否需要对 Magento2 进行任何更改才能访问以点命名的目录?

谢谢,

答案1

您需要.well-know在 Magento 安装的 pub 文件夹中添加文件夹,并.htaccess在您的案例中添加一个文件,因为您正在使用 Apache。

/usr/local/www/apache24/webroot/company/pub/.well-known/acme-challenge

可通过以下方式访问http://www.example.com/.well-known/acme-challenge/

答案2

你可以在 .htaccess 文件顶部添加 RewriteCond %{REQUEST_URI} !^/.well-known/ ,这是 Magento 自己的绕过方法

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/pub/
RewriteCond %{REQUEST_URI} !^/setup/
RewriteCond %{REQUEST_URI} !^/update/
RewriteCond %{REQUEST_URI} !^/dev/
RewriteCond %{REQUEST_URI} !^/.well-known/
RewriteRule .* /pub/$0 [L]

相关内容