簡體   English   中英

TYPO3:RealURL + tt_news + 404不起作用

[英]TYPO3: RealURL + tt_news + 404 doesnt work

我想給tt_news的SINGLE視圖所在的頁面(id = 57)提供一個特殊的URL,所以我用它來配置RealURL:

    'fixedPostVars' => array(
        '57' => array(
            array(
                'GETvar' => 'tx_ttnews[tt_news]',
                'lookUpTable' => array(
                    'table' => 'tt_news',
                    'id_field' => 'uid',
                    'alias_field' => 'title',
                    'addWhereClause' => ' AND NOT deleted',
                    'useUniqueCache' => 1,
                    'useUniqueCache_conf' => array(
                        'strtolower' => 1,
                        'spaceCharacter' => '-',
                    ),
                ),
            ),
        ),
    ),

問題在於404中的重定向無法正常工作:

http://www.mypage.com/blog/artikel/asdasd --->效果很好。 轉到第404頁。

http://www.mypage.com/blog/artikel/whatever/whateveragain --->效果很好。 轉到第404頁。

http://www.mypage.com/blog/artikel/無論如何--->都不會重定向到404。我收到“未提供news_id”。

對於TYPO3 ,該頁面存在並且包含一個插件是很正常的,因此不能將其視為不存在,它不在乎擴展沒有獲取所有必需的參數。

有兩種解決方案,我建議編寫一個小擴展名,該擴展名將在頁面渲染過程開始時運行,它將檢查參數是否存在以及是否指向現有且未禁用的tt_news記錄,否則應返回完全合格的404。狀態並重定向到您的404頁面-這對於而言將非常

function main($content, $conf) {

    $newsParams = t3lib_div::_GET('tx_ttnews');
    if (is_array($newsParams) && intval($newsParams['tt_news']) > 0) {
        $foundItems = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('uid', 'tt_news', 'deleted=0 AND hidden=0 AND uid=' . intval($newsParams['tt_news']));

        if (count($foundItems) == 1) {
            return null; // if news exists and is available - return null
        }
    }

    // If above condition aren't met, set redirect header
    // return null after that to avoid futher code processing

    header('Location: http://yourdomain.tld/404.html');
    return null;

}

僅在TypoScript頁面= 57上添加以下行:

page.1 < plugin.tx_yourext_pi1

其他解決方案

更加簡單,它只是檢查SINGLE視圖所需的URL中的參數:&tx_ttnews [tt_news] = 123是否存在且大於0,並且不只是將重定向標記添加到頁面的<head>部分(僅從頂部開始編寫)我的頭,所以自己調試吧,請)

在您的頁面57添加帶有Template模塊的extension teamplate ,並在設置使用條件下檢查參數是否存在:

[globalVar = GP:tx_ttnews|tt_news < 1]
  page.headerData.1 = TEXT
  page.headerData.1.value = <meta http-equiv="refresh" content="0;url=http://www.mypage.com/404">
[global]

暫無
暫無

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

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