由於我的備用論壇網址含有Port, 所以發現備用論壇不能下載附件
但主域網站卻一點問題都沒有, 於是我發現原來Discuz沒有除去Port就做比較, 結果出事了。
修正方法, 打開 ./attachment.php 找:
複製內容到剪貼板
代碼:
$refererhost = parse_url($_SERVER['HTTP_REFERER']);
於下面加入:
複製內容到剪貼板
代碼:
$portpos = strrpos($_SERVER['HTTP_HOST'], ":");
$serverhost = ($portpos === false) ? $_SERVER['HTTP_HOST'] : substr($_SERVER['HTTP_HOST'], 0, $portpos);
再找:
複製內容到剪貼板
代碼:
$refererhost['host'] == $_SERVER['HTTP_HOST']
替換為:
複製內容到剪貼板
代碼:
$refererhost['host'] == $serverhost
這樣就可以了。
方法2, 不建議, 其實就是關閉下載附件來路檢查, 不過明顯這是BUG, 應該選擇做修正而選擇不用:
複製內容到剪貼板
代碼:
後台 -> 附件設置 -> 下載附件來路檢查 -> 否