7

我有一個指向受限頁面的鏈接。當我以註銷狀態直接訪問鏈接時,其重定向到404。實際上它應該重定向到登錄表單。TYPO3:404用於受限訪問頁面而不是登錄表單

我想:

config { 
    typolinkLinkAccessRestrictedPages=PAGE_ID 
    typolinkLinkAccessRestrictedPages_addParams = &return_url=###RETURN_URL###&pageId=###PAGE_ID### 
    } 

不工作。

另外我嘗試登錄狀態重定向插件,沒用。

任何人都知道如何做到這一點?我正在使用TYPO3 4.4.8版。

+0

這將是有益的,如果你告訴我們你TYPO3版本 - 一個bug在4.5版本中提交了錯誤的標籤:http://forge.typo3.org/issues/24942。但是,這可以幫助你的機會很低。 – Mateng

+0

另一個問題:您是使用RealURL還是多域配置(請參閱4.3 http://bugs.typo3.org/view.php?id=11412中的錯誤)?你真的把什麼放入了TS設置,我們找到了「PAGE ID」?如果您將標記### RETURN_URL ###和### PAGE_ID ###替換爲實際值,會發生什麼情況?對不起,我沒有一個正確的答案,但也許這些提示有助於向前邁進一步。 – Mateng

+0

我使用typo3版本4.4.8。我嘗試用值替換標記。它仍然重定向到404頁面。 – Sivakumar

回答

2

因爲這仍然沒有答案,這是否有幫助?

# Check if user is logged in: 
[usergroup = *] 
# do something 
[else] 
page.config > 
page.config.additionalHeaders = Location: http://www.yourdomain.org/login.html 
[end] 

我最近公佈的這another questions並越過我的腦海,這可能是你的probem一個合適的解決辦法。

Found here

+1

檢測未登錄用戶的更好方法是通過'[loginUser =]'。現在你可以安全的兩行了,包括[else]。 – Ludwig

+0

聽起來很合理。然而,現在沒有時間進行測試;)。 – Mateng

1

我不知道如何正確地做重定向的工作,但或許有點背景會有所幫助。

typolinkLinkAccessRestrictedPages僅與鏈接生成交互。這樣,只要你有一個指向訪問受限頁面的鏈接,你就應該得到一個指向「PAGE ID」頁面的鏈接。我懷疑你正在使用你的登錄pid來代替PAGE Id,我猜這應該可行,但我沒有使用這個特殊功能。我有typolinkLinkAccessRestrictedPages = NONE,它使所有鏈接都顯示出來,鏈接到正確的URL,但只有登錄的用戶才能成功加載這些頁面。

如果任何人在未登錄的情況下使用書籤訪問受限頁面,或者他們點擊其中一個鏈接,或者直接輸入地址或其他內容,他們將進入TYPO3的404處理(與錯誤消息:ID不是一個可訪問的頁面)。要更改TYPO3如何處理這些錯誤,您需要更改通過此設置TYPO3在做什麼localconf.php:

$TYPO3_CONF_VARS["FE"]["pageNotFound_handling"] 

我不知道是否有一個乾淨的辦法只有自動重定向到登錄頁面沒有黑客pageNotFound_handling。

就typoscript解決方案而言,這不適用於我的網站,因爲觸發器不是用戶是否登錄(通常他們不會登錄) - 我的網站的觸發器是試圖訪問受保護的頁面,當你沒有登錄。我不希望它重定向大家誰沒有登錄,因爲很多網頁不需要任何登錄。

0

因爲TYPO3的這種行爲似乎沒有適當的解決方案,所以我在RealURL中使用了以下解決方法。

  1. TYPO3創建一個404頁,設置說到URL路徑段爲「404錯誤」,檢查 覆蓋整個頁面的路徑
  2. 添加描述文本發生了什麼(即「頁面不存在或受到限制,請登錄」)
  3. 的felogin插件添加到該網頁,並隱藏起來,當用戶在安裝工具

404-記錄在

  • [FE][pageNotFound_handling] = /404-error/每次用戶請求一個他不允許看到的頁面或一個不存在的頁面時,都會顯示錯誤頁面。當用戶在頁面上使用登錄表單時,他會在登錄後立即找到適當的內容,因爲URI根本沒有改變(當沒有爲fe_login插件配置重定向時)。

  • 0

    我發現了另一個解決方法,看起來應該可以正常工作。

    # pages and subpages starting at 123 and 321 are restricted 
    [PIDinRootline = 123,321] && [loginUser = ] 
        page.headerData.666 = TEXT 
        page.headerData.666 { 
         data = getIndpEnv:TYPO3_REQUEST_URL 
         wrap = <meta http-equiv="refresh" content="0; URL=/passwort/?referer= | " /> 
        } 
    [global] 
    

    重要通知:不要限制完整的頁面,只有網頁的全部內容。否則RealURL將觸發404處理程序。

    目前,page.config.additionalHeaders(就像@Mateng所使用的)不支持stdWrap,儘管您無法在登錄後添加引用來重定向到所需頁面(請參閱TYPO3 Forge並投票尋求功能請求)。

    0

    Fe_login無法獨自做到這一點...

    按照以下步驟::

    1. felogin登錄後安裝 「pagenotfoundhandling」 extention 配置。
    2. 在「pagenotfoundhandling」擴展配置中將403頁面配置爲登錄頁面。

    然後,當您嘗試訪問「訪問受限制頁」,「pagenotfoundhandling」將重定向到登錄頁面,然後把手pagenotfoundhandling重定向再次請求的頁面。我已經在TYPO3測試此6.2.14

    0

    完整的解決方案: 1.首先在typo3conf/LocalConfiguration.php必須添加:

    'FE' => [ 
         'pageNotFound_handling' => 'REDIRECT:/login/', 
         "pageNotFound_handling_statheader" => 'HTTP/1.1 404 Not Found', 
         ... 
    ], 
    
  • 然後添加到Typo腳本:

    '

    配置{ typolinkLinkAccessRestrictedPages = YOUR_LOGIN_PAGE_ID typolinkLinkAccessRestrictedPages_addPa公羊= & return_url = ### RETURN_URL ### } plugin.tx_felogin_pi1.redirectMode =引薦

  • '

    相關問題