andersundsehr / reduce-duplicate-content
如果页面以 / 结尾(或不是),则进行重定向。(减少重复内容)
1.1.0
2024-03-19 12:56 UTC
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0
- typo3/cms-core: ^11.5.11 || ^12.0
Requires (Dev)
- pluswerk/grumphp-config: ^6.4
- saschaegerer/phpstan-typo3: ^1.8.2
- ssch/typo3-rector: ^1.1.3
README
composer req andersundsehr/reduce-duplicate-content
此扩展做什么?
它旨在减少具有相同内容的URL。
主要点是,默认情况下,TYPO3的页面可访问性如下: /en/page-a
和 /en/page-a/
。
通过一个简单的设置,您可以更改是否始终想要尾部斜杠或永不想要。
此设置仅设置TYPO3生成URL的方式。
但是,内容可以通过这两个URL访问。
这就是此扩展发挥作用的地方。
它是如何解决这个问题?
我们为当前页面和语言生成一个URL。
如果此URL与当前请求URL匹配(忽略末尾的斜杠)
然后我们才直接比较URL。
如果不匹配,则重定向到正确的URL。
它与 studiomitte/redirect2trailingslash 有何不同?
EXT:redirect2trailingslash 仅在您始终想要尾部斜杠时才有用。
我们的方法也可以删除斜杠。
此外,它应该有更少的错误,因为我们通过生成URL的方式进行比较。
如果您想要尾部斜杠
您可以这样配置routeEnhancer
文件: config/sites/.../config.yaml
routeEnhancers: PageTypeSuffix: type: PageType # if you want to have trailing slashes for all pages: default: '/' index: '' map: /: 0 sitemap.xml: 1533906435
如果您不想要尾部斜杠
您可以删除RouteEnhancer PageType。
或者确保您不使用 default
文件: config/sites/.../config.yaml
routeEnhancers: PageTypeSuffix: type: PageType index: '' map: /: 0 sitemap.xml: 1533906435
如果您使用staticfilecache,您需要在nginx配置中添加以下行
# Ensure we redirect to TYPO3 for non GET/HEAD requests if ($request_method !~ ^(GET|HEAD)$ ) { return 405; } # Ensure we redirect to TYPO3 for urls ending with slash ####### THIS if ($request_uri ~ "^.*/$") { return 405; } # Ensure we redirect to TYPO3 for urls ending without slash ####### OR THIS if ($request_uri !~ "^.*/$") { return 405; } charset utf-8; default_type text/html; try_files /typo3temp/tx_staticfilecache/https_${host}_443${uri}/index /typo3temp/tx_staticfilecache/${scheme}_${host}_${server_port}${uri}/index =405;
重要!如果您使用staticfilecache
如果您使用staticfilecache,您必须禁用staticfilecache的回退中间件:
更改307状态码
您可以在扩展设置中更改它。
来自 anders und sehr GmbH 的热爱
如果某些事情没有工作 😮
或者您欣赏此扩展 🥰 请告诉我们。