【问题标题】:Where does the $BaseHref value come from in SilverStripe?SilverStripe 中的 $BaseHref 值来自哪里?
【发布时间】:2014-11-05 23:27:25
【问题描述】:

我可以在模板中使用 {$BaseHref},但是当我使用我的网站开发副本时,它被设置为使用实时网站地址。我已经完成了flush = all。它来自哪里,所以我可以改变它?

编辑:对不起!我发现我的模板中仍然有一个硬编码的 URL。但是,听起来 $BaseHref 值在 SilverStripe 3.0 中已被弃用。我应该改用什么?

【问题讨论】:

  • 基本 URL 通常是动态设置的,无论您的站点位于何处。如果它不能在根 .htaccess 文件中自动运行,请检查 RewriteBase。在实时站点上,这通常设置为RewriteBase /。在您的本地主机上,您可能希望将其设置为RewriteBase /site-folder-name。否则检查这个:stackoverflow.com/questions/20109864/…
  • 您使用的是哪个版本的 Silverstripe? $BaseHref 在 3.0 中已弃用。您的实时站点或开发站点是否在子文件夹中运行?
  • @wmk,3.1.something。你能告诉我它应该是什么吗?谢谢!
  • 您使用的是旧的/更新的模板吗?你为什么用它?
  • 我使用 $absoluteBaseURL。您是否下载了 /silverstripe-cache/ 它从实时环境中输出值?

标签: templates url global-variables silverstripe


【解决方案1】:

应该回答问题,尽管它已经在 cmets 中。这个答案是针对统计数据的 :-) 它是动态生成的,但已被弃用。您应该使用 $absoluteBaseURL ,这是在此处生成的:

https://github.com/silverstripe/silverstripe-framework/blob/3.1/control/Director.php#L768

https://github.com/silverstripe/silverstripe-framework/blob/3.1/control/Director.php#L554

https://github.com/silverstripe/silverstripe-framework/blob/3.1/core/Constants.php#L165

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 2014-04-24
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多