从 LTS 8 升级到 LTS 9 后的路由问题(RealURL -> 核心路由)
Routing problem after upgrading from LTS 8 to LTS 9 (RealURL -> Core routing)
将我们的站点从版本 8 LTS 迁移到版本 9 LTS 后,我遇到了一些路由配置问题。
对于 RealURL 我们使用 fixedPostVars,'noMatch' => 'bypass'.
例如 URL
http://Mysite/my-page/mysubpage
?tx_extension[action]=show
&tx_extension[controller]=Researchers
&tx_extension[fullName]=FirstNameWithÉ-LastName
&tx_extension[id]=37
&cHash=f077e6ab99d456c1d0431603186c32cf
我们想要
http://Mysite/my-page/mysubpage/FirstNameWithC-LastNameWithe/37
现在我可以得到
http://Mysite/my-page/mysubpage/FirstNameWith%2527-LastName/37
?tx_extension%5Baction%5D=show
&tx_extension%5Bcontroller%5D=Researchers
&cHash=067d606ab30ace24e7cf347bdf89b011
我尝试了几种配置都没有成功。
那么我该怎么做才能隐藏控制器、动作和 cHash。
此外,如何处理 URL 中的重音字符。
这是我的 routeEnhancers 配置
ListResearchers:
type: Plugin
limitToPages:
- 2706
- 2707
routePath: '/{name}/{uid}'
namespace: 'tx_extension'
_arguments:
name: 'fullName'
uid: 'id'
fullName
的值 space 太大,没有 requirements
/aspects
就无法存在。这将产生 ?cHash
.
对于您的情况(字符串),您可以使用 PersistedAliasMapper
或编写自定义方面。
uid
将需要 requirements
。 (如果你想使用它。你可以用 PersistedAliasMapper
摆脱它)
将我们的站点从版本 8 LTS 迁移到版本 9 LTS 后,我遇到了一些路由配置问题。
对于 RealURL 我们使用 fixedPostVars,'noMatch' => 'bypass'.
例如 URL
http://Mysite/my-page/mysubpage
?tx_extension[action]=show
&tx_extension[controller]=Researchers
&tx_extension[fullName]=FirstNameWithÉ-LastName
&tx_extension[id]=37
&cHash=f077e6ab99d456c1d0431603186c32cf
我们想要
http://Mysite/my-page/mysubpage/FirstNameWithC-LastNameWithe/37
现在我可以得到
http://Mysite/my-page/mysubpage/FirstNameWith%2527-LastName/37
?tx_extension%5Baction%5D=show
&tx_extension%5Bcontroller%5D=Researchers
&cHash=067d606ab30ace24e7cf347bdf89b011
我尝试了几种配置都没有成功。
那么我该怎么做才能隐藏控制器、动作和 cHash。
此外,如何处理 URL 中的重音字符。
这是我的 routeEnhancers 配置
ListResearchers:
type: Plugin
limitToPages:
- 2706
- 2707
routePath: '/{name}/{uid}'
namespace: 'tx_extension'
_arguments:
name: 'fullName'
uid: 'id'
fullName
的值 space 太大,没有 requirements
/aspects
就无法存在。这将产生 ?cHash
.
对于您的情况(字符串),您可以使用 PersistedAliasMapper
或编写自定义方面。
uid
将需要 requirements
。 (如果你想使用它。你可以用 PersistedAliasMapper
摆脱它)