TYPO3 9.5 News友好URL:如何移除详情页detail路径段
嘿,我来帮你搞定这个URL优化的问题!要去掉详情页URL里的detail路径段,其实只需要调整两个关键地方:页面的slug配置和路由规则,具体步骤如下:
1. 调整插件挂载页面的Slug
首先,你配置里的limitToPages指定了页面ID 152、153、155,这些是挂载News插件的页面。打开TYPO3后台,找到这些页面,检查它们的Slug字段:
- 如果其中某个页面的Slug是
/news/detail,直接把它改成/news(这是生成目标URL的基础)。 - 确保这些页面中,负责展示新闻详情的页面Slug是
/news,而不是带detail的路径。
2. 确认并保留现有路由配置
你当前的News插件路由配置其实是正确的,不需要修改核心规则:
NewsPlugin: type: Extbase limitToPages: - 152 - 153 - 155 extension: News plugin: Pi1 routes: - routePath: '/{news_title}' _controller: 'News::detail' _arguments: news_title: news defaultController: 'News::detail' defaults: page: '0' requirements: page: \d+ aspects: news_title: type: PersistedAliasMapper tableName: tx_news_domain_model_news routeFieldName: path_segment
这里的routePath: '/{news_title}'会直接在页面Slug的基础上拼接新闻别名,所以当页面Slug是/news时,最终URL就是/news/newstitle,正好符合你的需求。
3. 清除缓存生效
修改完配置和页面Slug后,一定要在TYPO3后台执行:
- 点击顶部的「Flush frontend caches」
- 再点击「Flush general caches」
这样新的路由规则才会生效,旧的URL缓存会被清除。
额外注意点
如果之前有其他自定义路由规则(比如站点根config.yaml里的全局路由)匹配了/news/detail/*,记得删除或注释掉这些规则,避免和新的路由冲突。
内容的提问来源于stack exchange,提问作者Brezelfelder
相关产品推荐
相关产品推荐

