我只是在tx_news documentation上使用官方的realurl conf。这导致我的网址中出现重复的斜杠。它看起来像那样:
domain.com/post//post-title
为了解决这个问题,我发现我必须在fixedPostVars中的tx_newspil [news]之后删除或放置以下行:
在:
'fixedPostVars' => [
'newsDetailConfiguration' => [
[
'GETvar' => 'tx_news_pi1[action]',
'valueMap' => [
'' => 'detail',
],
'noMatch' => 'bypass'
],
[
'GETvar' => 'tx_news_pi1[controller]',
'valueMap' => [
'' => 'detail',
],
'noMatch' => 'bypass'
],
[
'GETvar' => 'tx_news_pi1[news]',
'lookUpTable' => [
'table' => 'tx_news_domain_model_news',
'id_field' => 'uid',
'alias_field' => 'IF(path_segment!="",path_segment,title)',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'languageGetVar' => 'L',
'languageExceptionUids' => '',
'languageField' => 'sys_language_uid',
'transOrigPointerField' => 'l10n_parent',
'expireDays' => 180,
'enable404forInvalidAlias' => true
]
]
]
]
后:
'fixedPostVars' => [
'newsDetailConfiguration' => [
[
'GETvar' => 'tx_news_pi1[news]',
'lookUpTable' => [
'table' => 'tx_news_domain_model_news',
'id_field' => 'uid',
'alias_field' => 'IF(path_segment!="",path_segment,title)',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'languageGetVar' => 'L',
'languageExceptionUids' => '',
'languageField' => 'sys_language_uid',
'transOrigPointerField' => 'l10n_parent',
'expireDays' => 180,
'enable404forInvalidAlias' => true
]
],
[
'GETvar' => 'tx_news_pi1[action]',
'valueMap' => [
'' => 'detail',
],
'noMatch' => 'bypass'
],
[
'GETvar' => 'tx_news_pi1[controller]',
'valueMap' => [
'' => 'detail',
],
'noMatch' => 'bypass'
]
]
]
切换它们或只是删除控制器/动作部分修复了重复的斜杠。现在我想明白为什么会这样,因为我是PHP初学者,我真的不懂。
我感谢所有的帮助!
**刚刚测试过,只有动作部分必须移动或删除才能解决重复的斜杠
答案 0 :(得分:2)
这是因为REALURL
配置按您添加的顺序获取参数。
让我们从您的帖子中获取第一个REALURL
配置。在此配置中,我希望我的网址为:/page/action/controller/post-title
。
如果您在帖子页面设置了action
和controller
参数的新闻插件,那么您将无法通过action
和{{1在controller
中,这就是为什么URL
存在double slashes
,因为action
和controller
是空的。
默认参数(e.q控制器名称,操作名称等),不需要值的参数必须位于配置的末尾,就像上次配置一样。