我有一個 WordPress 網站和一個自定義主題,當然還有一個404.php
檔案。我遵循了這個驚人的指南,讓 404 頁面模板可以使用塊編輯器進行編輯。
當我轉到/404
(或就此而言,任何無效鏈接)時,我在 404 頁面上的組件正確顯示,但是,當轉到 時/404
,用戶被重定向到/404-2
這是我想要修復的行為。當用戶轉到/abc
(無效頁面)時,將顯示 404 并且它們沒有被重定向并且仍然打開/abc
(這是預期的)。
我檢查了 WP 中的頁面,并且 URL slug 設定為/404-2
并嘗試將其更改為 404 只是默認回傳 404。這似乎是由于404 是一個數字和默認的 WP 行為。但這只是告訴我為什么會出現問題;我不知道如何覆寫或糾正這種行為。提前致謝。
uj5u.com熱心網友回復:
正如您所發現的,頁面標題“404”(或任何數字標題)將始終被重寫為“404-2”,這確保標題是不同的/永遠不會與數字帖子/頁面 ID 混淆。
一個簡單的解決方案是將頁面重命名為“404 頁面”并將 php 函式更新為get_page_by_title( '404 page' )
. 這將使您的頁面對 SEO 更友好,/404-page
并且不需要嘗試更改.htaccess檔案的永久鏈接/重寫。
如果使用 WordPress 5.9 或更高版本,可以考慮將自定義主題遷移到塊主題。這將使您能夠使用可以通過Site Editor > Templates
. 站點編輯器使您能夠添加新模板、保存和匯出它們,以便為您的自定義主題輕松創建您自己的模板。從像二十二十二這樣的基本主題開始是了解可能的好方法。這與創建“經典”基于 php 的主題非常不同;盡管塊模板和站點編輯器的優勢對于將來驗證您的主題是一個很大的好處。
uj5u.com熱心網友回復:
通過鉤住它來固定它do_redirect_guess_404_permalink
見https://developer.wordpress.org/reference/hooks/do_redirect_guess_404_permalink/
<?php
function stop_redirect_guess() {
return false;
}
add_filter( 'do_redirect_guess_404_permalink', 'stop_redirect_guess');
?>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/505671.html
標籤:php WordPress 重定向 wordpress 主题 wordpress-古腾堡
上一篇:如果登錄成功,如何重定向?