iqual / iq_multidomain_extensions
支持多域名。
Requires
- php: ^8.1
- drupal/core: ^9.5 || ^10
- drupal/domain: 2.0.0-beta1
- drupal/robotstxt: ^1.5
- drupal/xmlsitemap: ^1.1
This package is auto-updated.
Last update: 2024-09-18 12:01:33 UTC
README
包含多域名设置所需的扩展、配置等。
安装指南
-
安装 iq_multidomain_extensions
-
添加域名记录 /admin/config/domain
重要提示
- 确保模式 ID 和模板名称必须相同(注意 - 和 _)
从 2.x 升级
随着 Drupal 10 的发布,domain_site_settings 和 domain_theme_switch 已弃用,并被 domain_config 取代。这会导致破坏性变更。
- 升级到 2.5.y 并运行更新钩子。这将把 favicons 和 robotstxt 设置转换为使用 domain_config。
- 如果在之前使用了 iq_multidomain_domain_theme_switch,则在 /admin/appearance 重新创建每个域的主题选择。
- 从项目中移除 domain_site_settings 和 domain_theme_switch
- 升级到 3.x
每个域的主题
安装 iq_multidomain_domain_theme_switch 子模块
drush en iq_multidomain_domain_theme_switch
前往 /admin/appearance 选择每个域的主题。
注意
- 子模块会从所选主题的名称前缀模式 ID(全局默认主题除外)。
- 所有主题都需要相同的模式才能共同使用视图。
- 自动生成的特定于域的模式引用可能包括主题名称,并在选择或重命名主题时需要进行调整。
每个域的 XML 站点地图
安装 iq_multidomain_sitemap_extension 子模块
drush en iq_multidomain_sitemap_extension
前往 /admin/config/search/xmlsitemap 添加站点地图。在每个站点地图中,都有一个新的字段可供设置域名。
favicon
"iq_multidomain_favicon_extension" 已被移除。
robots.txt
如果您想为每个域名注册一个 robots.txt
文件,则必须激活 iq_multidomain_robotstxt_extension。使用以下命令安装它:
drush en iq_multidomain_robotstxt_extension
安装后,可以在 /admin/config/search/robotstxt 中配置 robots.txt。
此外,传入的公开请求必须通过模块(例如 PHP)在 /robots
或 /robots.txt
路径上进行传递。
Kubernetes nginx 入口设置
您还需要将以下注解添加到所有主要域入口中
nginx.ingress.kubernetes.io/configuration-snippet: |- location = /robots.txt { rewrite ^ /robots last; }
还建议启用 www-redirect 选项,并且不要在入口中设置
www
或非www
域名。(例如nginx.ingress.kubernetes.io/from-to-www-redirect: "true"
)
这会将传入的请求重写到正确的动态端点(/robots
),绕过任何现有的 robots 文件。
Nginx 示例
如果您想在您的应用程序 nginx 中直接传递请求到 php,可以使用如下方法
location = /robots.txt { rewrite ^ /index.php last; }