【问题标题】:Typo3 : using typoscript to modify the base-urlTypo3:使用typoscript修改base-url
【发布时间】:2012-04-28 15:41:51
【问题描述】:

我正在试用 TYPO3 的介绍包。为此,我在我的计算机上使用 Xampp。

我已经将它安装在一个子目录中,但由于它使用“real-url”,我需要修改生成的链接,以便我得到http://localhost/about-typo3/而不是http://localhost/subfolder/about-typo3/

我相信它必须通过“typo-script”来完成,从我在互联网上阅读的内容来看,这行应该可以完成这项工作:

config.baseURL = http://localhost/subfolder/

但我不知道我应该把它放在哪里。我尝试了不同的位置,但没有明显的效果。

所以我想知道的是:我是否走上了我需要做的事情的好道路,如果是,我现在应该尝试什么?

【问题讨论】:

  • 正确的设置是config.absRefPrefix = http://localhost/subfolder/,它必须转到Home页面上模板记录的设置部分。由于一个错误,默认情况下它被硬编码为/。请参阅下面的完整答案。

标签: url typo3 typoscript subdirectory


【解决方案1】:

如果您使用的是介绍包。有用于设置基本 url 的常量

转到“模板”和“常量编辑器.. 你可以找到“基本 URL [config.domain] 的域名”.. 用于设置基本 url

你也可以把 config.baseURL = http://localhost/subfolder/ 在“信息修改”设置字段上

希望能帮到你..对不起我的英语不好

【讨论】:

  • 您不应再设置 config.baseURL。既不直接也不通过常量编辑器。请改用 config.absRefPrefix。如果使用 4.6 的引入包,并使用常量编辑器,则必须省略最后一个斜杠 (/)。
【解决方案2】:

如果您使用不同的主机,您可以在根模板中使用排版条件:

# Default:
config.baseURL = http://www.example.com/

[globalString = ENV:HTTP_HOST=sub1.example.com]
config.baseURL = http://sub1.example.com/
[global]

[globalString = ENV:HTTP_HOST=sub2.example.com]
config.baseURL = http://sub2.example.com/
[global]

【讨论】:

    【解决方案3】:

    这是 4.6 介绍包中的一个错误。 4.7 将附带正确的版本,因此您可能只想继续尝试 4.7RC2 (Preview Releases) 中的介绍包。

    现在,只需在左侧模块菜单中选择Template。然后使用下拉菜单选择Constant Editor。现在在中间的页面树中选择页面HOME。 现在使用第二个下拉菜单选择CONFIG。修改最上面的设置Absolute URI prefix。输入您的完整域,不带最后一个斜杠 (/)。这意味着从浏览器复制您当前的 URL 并删除 /typo3/backend.php。现在使用顶部工具栏中的小保存图标进行保存。 这也将使您的所有缓存无效(因为您更改了最顶层的模板)。无需安装额外的扩展程序或手动执行此操作。

    您也可以修复实际的错误。转到模板模块并选择文件夹TypoScript Templates / page_configuration。现在选择Info/Modify 而不是Constant Editor 并直接在表格上方page.config。单击Setup 左侧的铅笔。找到absRefPrefix = {$config.absRefPrefix}/ 行。这应该在62 (4.7RC2) 附近。从该行中删除最后一个斜杠 (/) 并保存。因为您不在最顶层的模板上,所以您需要清除缓存。在屏幕的右上角,您可以找到黄色的闪光灯图标。单击它并选择Clear all caches(红色闪烁)。现在再次访问您的网站。

    关于(config.)baseURL 的一般说明。这更像是一种 hack,因为它只是告诉浏览器表现得好像网站在另一个地方一样。正确的方法是首先创建正确的链接。您应该改用(config.)absRefPrefix。要使其在自动模式下工作,它必须完全为空 (config.absRefPrefix =)。 不要再使用baseURL。下一个介绍包不会有这个设置。

    另一个注意事项:如果您使用config.absRefPrefix,则必须包含最后一个斜杠 (/)。您不必在上面(在常量中)这样做的唯一原因是因为它在模板中是硬编码的,因此也阻止了自动检测的工作。

    【讨论】:

    • 我是 Typo3 的新手,我正试图拯救某人。由于域名问题,他们不得不关闭他们的网站,我正试图在我的 VPS 上暂时恢复它。我在 BE 中唯一看到 Template 的地方是 Web->Template。我确实在这里看到了常量编辑器,但没有 Home。仅根站点名称下方。第二个下拉列表有内容、高级、插件...等,我没有看到任何 uri 选项。我已经更改了 class.tslib_fe.php 中的条目($baseURL 和 $absRefPrefix)并且我能够打破页面,但我不知道如何正确地做到这一点。有什么建议吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多