【问题标题】:Silverstripe Fluent locale selection based on domain nameSilverstripe Fluent 基于域名的语言环境选择
【发布时间】:2018-08-30 22:41:48
【问题描述】:

我假设 Silverstripe Fluent 应该根据用于访问该站点的域名来切换站点区域设置是否正确?

我已经建立了一个具有英语、法语和德语语言环境的流利网站,并为每个语言环境(site.mysite.com、desite.mysite.com 和 frsite.mysite.com)分配了一个域名,并设置了语言环境每个站点的 en_GB、de_DE 和 fr_FR 分别为。

我的理解是,如果我访问 frsite.mysite.com,那么我应该看到该站点的法语版本,desite.mysite.com 带有该站点的德语版本,site.mysite.com 带有英语版本但是,所有三个 URL 都显示网站的英文版本。

如果我访问 site.mysite.com/fr 或 frsite.mysite.com/fr 或 desite.mysite.com/fr,我会得到法语版本。

我正在使用 Silverstripe V4.02 和 Fluent V3.3(我想!)

我在我的 .env 文件中设置了 SS_FLUENT_FORCE_DOMAIN="true" 并在实时模式下运行。

是我做错了什么还是没有这个功能?

【问题讨论】:

  • 好问题!你所描述的听起来应该可以工作。您是否将每个域的主要区域设置的“全局默认值”设置为 true?
  • 是的,我有以下内容: 域:域 默认语言环境 site.mysite.com 英语 en_GB desite.mysite.com 德语 de_DE frsite.mysite.com 法语 fr_FR 语言环境:TITLE LOCALE URL GLOBAL DOMAIN 德语 de_DE de 0 desite.mysite.com 英语 en_GB en 1 site.mysite.com 法语 fr_FR fr 0 frsite.mysite.com
  • 您可以通过查看 composer.lock 或运行 composer show -i package/name 来确定您正在使用的 fluent 版本,这样您就可以确定安装了什么。 v3.3 不适用于 ss4
  • 我正在使用更新日志中的最新版本!检查 composer.lock 文件,我似乎使用的是 4.0.0
  • 如果您已刷新所有缓存并仔细检查所有内容是否匹配,那么 PHP 可能无法在其 $_SERVER 变量中获得正确的域名

标签: silverstripe fluent silverstripe-4


【解决方案1】:

我遇到了同样的问题。我通过从 .env 中删除 SS_BASE_URL 来修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-22
    • 2018-07-15
    • 2019-02-21
    • 2015-02-03
    • 1970-01-01
    • 2019-07-16
    • 2021-05-09
    • 1970-01-01
    相关资源
    最近更新 更多