0

我目前正在 TYPO3 中处理 ONEPAGE,因此收集“开始”页面的所有子页面的所有内容,以便在“开始”页面上一起输出。

现在我遇到的情况是,如果有人知道“开始”页面的子页面的 url,那么这个页面会以正常方式输出,而不连接到我不想要的 ONEPAGER。

那么,是否有人知道如何将所有点击重定向到“开始”的子页面到“开始”页面本身。

我知道这可以通过 htaccess/Apache 重写来实现,但我正在寻找一个通用的解决方案,例如使用 TYPO3 内部方法。

谢谢!

4

1 回答 1

0

这个问题取决于您的需求。有几种方法可以解决这个问题。

1:你想要一个重定向:

A)信息模块中的realURL重定向:

有一种方法可以在 TYPO3 后端为精确的 url 编写重定向规则。如果编辑应该有一些自由来设置这些规则,那可能会很方便。

优点: 编辑可以有机会设置网址。你不需要任何编程。

缺点: 您没有正则表达式,您需要直接设置每个网址。如果您更改标题,重定向将不再起作用。

进入信息模块并在标题行中选择“RealURL Management”,然后选择“显示”“重定向”选项。

B)在 RealURLConfiguration.php 中使用encodeSpURL_postProc和。decodeSpURL_preProc

使用此技术,您可以操纵“传入”和“传出”网址。如果您想缩短网址,请使用它。

这是一个示例,但可以肯定的是,您可以在 google 中找到更多信息。

优点: 您可以制定灵活的正则表达式规则。

缺点: 您需要编写 PHP 代码,并且此逻辑将由每个传出链接运行,因此如果您有很多要转换的链接,它可能不是最快的选择。

C) 你在 .htaccess 中写了两行。

所以关键是,如果你有一个明确的规则来永久地重写更多的 url。如果您可以访问您的 .htaccess 文件,那么我强烈建议您使用它。如果您没有更多的数百个或 tausend 特定重定向,那么这是编写规则的最佳位置。它在任何 PHP 代码之前运行,因此它绝对是最快的解决方案。

优点:您不需要编写尽可能多的代码。这是重定向多个 url 的最佳方式,其性能高于任何 php 代码。

缺点:只有当您无权访问 .htaccess 文件时,您才能这样做。否则,对于很多重定向,最好将重定向放入 httpd conf。

2: 404 任何错误的 url。

您可以处理这些页面,因为它们是“错误的 url”,例如 www.yourpage.com/it_is_a_not_existing_page/。建议使用 404 页面来处理这些问题。

在这种情况下,如果您将网站中的部分复制到起始页中,您可以将页面设置为隐藏,然后它们将抛出 404 错误,就像真正的无效请求一样。

我建议您考虑 404 解决方案,如果没有,请使用 .htaccess。

于 2016-05-20T05:55:29.300 回答