TYPO3中使用realurl扩展移除URL末尾重复斜杠的方法
解决RealURL生成URL末尾多余斜杠的问题
看起来你已经成功精简了URL的结构,但末尾的///是因为新闻插件的action和controller参数在使用默认值时,RealURL还是生成了空的URL片段。我们可以通过调整配置来解决这个问题:
步骤1:优化新闻插件的URL参数映射
修改postVarSets里的news配置项,给action和controller添加valueMap和noMatch规则,让默认值不生成对应的URL片段:
'postVarSets' => array( '_DEFAULT' => array( // EXT:news start 'news' => array( array( 'GETvar' => 'tx_news_pi1[action]', 'valueMap' => array( 'detail' => '', // 当action为默认的detail时,不显示该片段 ), 'noMatch' => 'bypass', // 无匹配值时跳过该部分 ), array( 'GETvar' => 'tx_news_pi1[controller]', 'valueMap' => array( 'News' => '', // 当controller为默认的News时,不显示该片段 ), 'noMatch' => 'bypass', ), array( 'GETvar' => 'tx_news_pi1[news]', 'lookUpTable' => array( // 原有配置保持不变 'table' => 'tx_news_domain_model_news', 'id_field' => 'uid', 'alias_field' => 'title', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), 'languageGetVar' => 'L', 'languageExceptionUids' => '', 'languageField' => 'sys_language_uid', 'transOrigPointerField' => 'l10n_parent', 'autoUpdate' => 1, 'expireDays' => 180, ), ), ), // EXT:news end ), ),
步骤2:验证初始化配置
确保init部分的appendMissingSlash设置合理,当前的ifNotFile是合适的,但如果还是有问题,可以尝试调整为false(不过不推荐,除非你确定不需要自动添加斜杠):
'init' => array( 'enableCHashCache' => '1', 'appendMissingSlash' => 'ifNotFile', // 保持这个设置,或者根据需求调整 'enableUrlDecodeCache' => '1', 'enableUrlEncodeCache' => '1', 'emptyUrlReturnValue' => '/', ),
步骤3:清除RealURL缓存
修改配置后,一定要清除RealURL的缓存(在TYPO3后台的"维护"模块里找到清除缓存选项,选择清除RealURL缓存),这样新的配置才能生效。
完成这些调整后,你的URL应该会变成干净的/blog/artikel/news/(如果没有新闻ID的话),或者当有具体新闻时变成/blog/artikel/news/your-news-title/。
内容的提问来源于stack exchange,提问作者Oday Banihani
相关产品推荐
相关产品推荐

