fritzmg/contao-multidomain-rebuild-index

此包已被放弃,不再维护。未建议替代包。

一个迷你扩展,使得多域名环境下的索引重建成为可能。

1.0.3 2016-11-24 09:56 UTC

This package is not auto-updated.

Last update: 2022-02-01 13:03:12 UTC


README

Contao 多域名重建索引

通过 Contao 后端重建搜索索引实际上会为 Contao 安装中每个网站根目录的网站地图中的每个页面创建一个 AJAX 请求。因此,为了在多域名安装中重建搜索索引,您需要为 Contao 处理的任何页面请求设置自定义响应头,这是由于 CORS。这些头包括:

Access-Control-Allow-Headers: X-Requested-With
Access-Control-Allow-Origin: …

第一个头是必要的,因为 Contao 使用 MooTools Request 类,该类始终添加 X-Requested-With 请求头(参见 mootools.net/core/docs/1.5.2/Request/Request)。第二个头允许来自其他域的 AJAX 请求。

这些头可以通过 .htaccess 添加

<IfModule mod_headers.c>
  Header set Access-Control-Allow-Headers X-Requested-With
  Header set Access-Control-Allow-Origin http://example.org
</IfModule>

Access-Control-Allow-Origin 头的值应更改为您通过它访问 Contao 后端的域(和方案)。

但是 这并不适用于所有服务器环境中的请求,例如通过 PHP 通过 FastCGI 处理的请求(参见 http://serverfault.com/a/383063/143519)。在这种情况下,您需要直接在 Apache 的 vhost 配置中设置这些头。

此扩展有助于处理这种情况。通过安装此扩展,将自动为任何前端页面输出设置这些头。自动将 Access-Control-Allow-Origin 头设置为访问 Contao 后端所使用的域。无需为此扩展进行配置。

注意: 如果您在某个域中使用 HTTPS,可能会出现更多问题。使用 HTTPS 时,通过 HTTP 向资源发出 AJAX 请求是不可能的。在这种情况下,您需要确保您要么

  • 通过 HTTP 登录后端
  • 或将所有域的 HTTPS 强制使用

注意: 如果您使用 Contao ^3.5.25 或 Contao >=4.3.6,则不需要此扩展。