【问题标题】:Replace URLs in Typo3 DB替换 Typo3 DB 中的 URL
【发布时间】:2015-08-25 00:18:54
【问题描述】:

所以我有一个使用 Typo3 创建的站点。我还有一个链接到 Typo3 安装文件夹的域。 www.example.org

我创建了一个子域并将其链接到同一个文件夹,并将主域用于其他用途。

但是现在子域上的所有内容仍然具有主站点的 URL 结构,因此当我打开 sub.example.org 时,所有链接和图像仍然具有来自 www.example.org/...的 URL...

我导出了数据库并用 notepad++ 替换了每个 URL,然后再次导入。但这并没有改变什么。我做错了什么?

【问题讨论】:

    标签: mysql database typo3


    【解决方案1】:

    如果更改 TYPO3 网站的域,如果一切都由书本完成并且没有人在整个地方对域进行硬编码或其他什么,您需要查看两个(三个带有 realurl)的地方。

    通常您不需要直接在数据库中工作。

    更改后,请务必清除缓存(在 6.2+ 中安装工具,在早期版本中为“所有缓存”)。

    第一
    有两个 TypoScript 设置会影响生成的 URL:config.baseURLconfig.absRefPrefix

    推荐的使用方法是不设置config.baseURL(将导致HTML <head> 中的<base> 标记),并将config.absRefPrefix 设置为TYPO3 所在的子路径,相对于文档根目录.如果 TYPO3 直接位于文档根目录中,请将其设置为 /

    第二
    在数据库中,有“域记录”。它们通常位于站点的根页面上。将它们更改为新域。

    第三个(仅限 realurl):
    查看realurl配置文件,一般位于typo3conf/realurl_conf.php。根据您的设置,旧域名在那里使用并且需要更改。

    【讨论】:

    • 感谢您的回答。当我打开typo3后端并导航到“模板”并单击“Typoscript-Templates”并打开配置时,它会显示如下内容: config {... 然后是baseURL和absRefPrefix,这两个设置为新的子域。我还查找了 sql 文件,那里没有图像的绝对路径等等,所以用新的 url 替换数据库是行不通的。我的typo3conf 文件夹中没有realurl_conf.php。我有typo3版本。 4.5.6 已安装
    • realurl_conf.php 文件不需要具有该名称,这只是默认值。名称可以在扩展realurl的设置中设置,可以在扩展管理器中查看和修改。但我怀疑这里有两件事之一:1)域记录是罪魁祸首。转到“列表”模块并打开根页面,记录可能在那里。 2) 上面列出的 TypoScript 设置稍后会在模板或子页面中被覆盖。使用 TypoScript 对象浏览器检查它们的最终值,它也可以在模板模块中找到。
    • 好的,没有扩展名realurl。在列表模块中打开根页面是什么意思?我检查了 Web>List Module 的每个文件,但没有找到任何带有 url 的文件,或者我需要搜索什么?与 Web>模板、对象浏览器相同。
    • 好的,我刚刚再次保存了打字稿 baseURL 和 absRefPrefix,现在它似乎可以工作了……毕竟我猜是缓存问题。 (不知道怎么清除typo3中的缓存,第一次用)非常感谢大家的帮助!
    • 除了注销按钮外,您还可以使用右上角的闪电图标清除缓存。 6.2+还可以在安装工具中清除缓存,有点激进,但需要管理员权限。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多