我目前正在开展TYPO3中的ONEPAGE,因此收集了所有页面的所有内容"开始"在页面上一起输出"开始"。
现在我的情况是,如果有人知道页面的子页面的网址"开始",那么这个页面以正常方式输出而不连接到我不想要的ONEPAGER。
那么,是否有人知道如何将所有匹配重定向到"开始"的子页面。到页面"开始"本身。
我知道这可以通过htaccess / Apache重写来实现,但我正在寻找一般的解决方案,例如:与TYPO3内部意味着。
谢谢!
答案 0 :(得分:0)
这个问题取决于您的需求。有几种方法可以解决这个问题。
1:您想要重定向:
A)RealURL重定向信息模块:
有一种方法可以为TYPO3后端内的精确网址编写重定向规则。如果编辑应该有一些自由来设置这些规则,那么它可能会很方便。
优势: 编辑可以有机会设置网址。你不需要任何编程。
缺点: 你没有正则表达式,你需要直接设置每个网址。如果您更改了标题,重定向将不再有效。
进入信息模块并在标题中选择" RealURL Management"并通过Show the" Redirects"选项。
B)在RealURLConfiguration.php中使用encodeSpURL_postProc
和decodeSpURL_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。