Я просто использую официальный realurl conf на tx_news документация. Это вызвало двойную косую черту в моем URL. Это будет выглядеть так:
domain.com/post//post-title
Чтобы исправить это, я обнаружил, что я должен удалить или поместить следующие строки после tx_newspil [news] внутри fixedPostVars:
До:
'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, я не совсем понимаю.
Я ценю всю помощь!
** Только что протестировано, только часть действия должна была быть перемещена или удалена для устранения дублирующего слэша
Это происходит потому, что REALURL
Конфигурация получает параметры в порядке добавления.
Давайте возьмем первый REALURL
Конфигурация из вашего поста. В этой конфигурации я ожидаю, что мой URL будет таким: /page/action/controller/post-title
,
Что происходит, так это то, что у вас есть плагин новостей с action
а также controller
параметры, установленные на странице сообщения, а затем вы не передаете action
а также controller
в URL
вот почему у вас есть double slashes
там, потому что action
а также controller
пусты
Параметры по умолчанию (например, имя контроллера, имя действия и т. Д.), Параметры, значения которых не требуются, должны находиться в конце конфигурации, как и ваша последняя конфигурация.
Других решений пока нет …