簡體   English   中英

TYPO3 RealURL重定向循環,用於具有相同標題的鏈接和頁面

[英]TYPO3 RealURL redirect loop for link and page with same title

經過多次調試后,大多數情況似乎無關緊要。 閱讀EDIT2了解您需要了解的內容。

我最近接手了TYPO3網頁的開發,並在realurl_conf.php中添加了兩個新的postVar。

它在主要語言上可以正常工作,但是在某些頁面上以不同於主要語言查看時,我陷入了重定向循環。

可以通過打開網站來復制循環(臨時重定向-代碼307),例如 http://example.com/subpage/?L=2 ,其中2是英語的語言ID, subpage是英語的標題。 如果我通過鏈接 http://example.com/unterseite/?L=2打開頁面, unterseite得到正確的頁面,而 unterseite是該頁面的主要語言標題。

不幸的是,我看不到有關受影響頁面的模式。 共有3個頁面顯示了此行為,其中兩個頁面包含子頁面,第三頁面是沒有孩子的標准頁面。 其他11頁按預期工作,另外2頁有子級。

所有頁面均為標准內容類型。

失敗的realurl_conf.php如下所示:

 
 
 
 
  
  
  <?php $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array ( '_DEFAULT' => array ( 'pagePath' => array ( 'type' => 'user', 'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main', ), ), );
 
 
  

我似乎沒有找到問題,上周我一直在搜索它。

非常感謝任何提示或特定幫助。

編輯:刪除不必要的行。 使用tx_realurl類(未高級),其余代碼可靠地發生了問題,不會發生此問題,但是行為不符合預期。

EDIT2:經過大量Xdebug調試后,我意識到有一個標題為“子頁面”的頁面,還有一個輔助菜單,其中包含指向該頁面的鏈接。 打開URL example.com/subpage/時,它檢測到子頁面是子頁面的鏈接,並重定向到子頁面。 因此,如果有多個匹配項,我正在尋找一種使頁面優先於鏈接的方法。

我猜這是錯誤的,應該刪除:

'valueDefault' => 'de',

L參數的默認值應在TypoScript中設置,而不應在RealUrl中設置。 我認為,如果使用數字值,則必須在此處輸入。

TYPO3在“ _.htaccess”下提供了一個“ .htacess”文件。 從TYPO3 6.2.4中我得到:

RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ $1.$3 [L]

# Main URL rewriting.
# For httpd.conf, use this line instead of the next one:
# RewriteRule .* /TYPO3root/index.php [L]
RewriteRule .* index.php [L]

將您的“ .htacess”文件與TYPO3的“ _.htaccess”中的條目進行比較。 也許您在那里缺少L參數。

您應該提供有關您網站上重定向的詳細示例。

今天,在升級TYPO3和realurl之后,我剛剛遇到了第二個遇到此問題的站點。

TL; DR解決方案: 將快捷方式的“語音URL路徑段”更改為不同於name的任何內容

我這邊的情況是:

  • TYPO3 6.2.27 ;
  • realurl 2.1.1 / 2.1.4 (這是到目前為止遇到的兩種情況),但這可能在所有2.x版本中都發生;
  • 頁面和快捷方式在相同的“路徑級別”上具有相同的名稱 請記住,這可以是相同的頁面樹級別,也可以是不同的頁面樹級別,但是要使父頁面具有選中的“ 從語音URL排除 ”復選框,以使兩個元素處於相同的“路徑級別”。

在我看來,這僅在安裝realurl 2.x時出現。 升級之前,兩個站點的realurl為1.12.x或1.13.x,並且沒有任何問題。

在代碼級解決問題之前, 可能的解決方案將快捷方式的“ Speaking URL path segment”更改為與name不同的任何內容 路徑段沒有在任何地方使用,但是更改它會使您擺脫麻煩。

這在我這邊停止了兩個站點上幾個頁面/快捷方式對的重定向。

realurl往復循環的另一個來源:

對我來說,這是一個損壞的手動realurl配置,其中沒有設置rootpage_id 切換到自動配置或更改為正確的rootpage_id均可解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM