Typo3 7.x:如何将所有匹配重定向到页面的子页面到页面本身?

时间:2016-05-19 20:02:42

标签: typo3 realurl typo3-7.x

我目前正在开展TYPO3中的ONEPAGE,因此收集了所有页面的所有内容"开始"在页面上一起输出"开始"。

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

那么,是否有人知道如何将所有匹配重定向到"开始"的子页面。到页面"开始"本身。

我知道这可以通过htaccess / Apache重写来实现,但我正在寻找一般的解决方案,例如:与TYPO3内部意味着。

谢谢!

1 个答案:

答案 0 :(得分:0)

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

1:您想要重定向:

A)RealURL重定向信息模块:

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

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

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

进入信息模块并在标题中选择" RealURL Management"并通过Show the" Redirects"选项。

B)在RealURLConfiguration.php中使用encodeSpURL_postProcdecodeSpURL_preProc

使用这种技术,你可以操纵你的"传入"和"外向"网址。如果您想缩短网址,则使用它。

以下是example,但您肯定可以在google中找到更多内容。

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

缺点: 你需要编写PHP代码,这个逻辑将由每个外向链接运行,所以如果你有很多转换链接,它可能不是最快的选择。

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

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

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

缺点: 只有当您无法访问.htaccess文件时,因为您无法执行此操作。否则,对于许多重定向,最好将重定向放入httpd conf中。

2:404任何错误的网址。

您可以按原样处理这些页面"错误的网址"例如www.yourpage.com/it_is_a_not_existing_page/。建议有一个404页面来处理这些问题。

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

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