您好我需要找到一種方法來重定向刪除的頁面到另一個頁面使用301重定向到一個特定的頁面取決於頁面的URL。如果URL是 http://example.com/projects/test-page-redirectpage/那麼它應該重定向到'redirectpage'在頁面刪除後。有數百頁像在URL末尾有'redirectpage'的頁面,所以我不能通過手動和重定向插件來做到這一點。我寫了下面的代碼,但它只能通過頁面名稱。我希望這樣可以檢測從URL中「redirectpage」,如果該URL不那麼退出它應該重定向到「redirectpage」已刪除頁面的重定向
function get_page_by_name($pagename)
{
$pages = get_pages();
foreach ($pages as $page) if ($page->post_name == $pagename) return $page;
return false;
}
function redirect_301() {
$page = get_page_by_name('test-page-redirectpage');
if (empty($page)) {
wp_safe_redirect(home_url('http://example.com/redirectpage/'), 301);
exit;
}
}
add_action('template_redirect', 'redirect_301', 1);
需要注意的是一個310重定向是不是刪除的頁面進行適當的處理。 [HTTP規範](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.11)爲不再可用的內容定義了「410 GONE」消息。有一個[WordPress插件](https://wordpress.org/plugins/wp-410/)爲刪除的內容執行該作業。它還允許您爲響應創建模板文件。 –