ユーザーをリダイレクトしようとしています。 website.com/properties/property-title
〜website.com/archive_properties/property-title
URLが存在しない場合Wordpress - ページが存在しない場合にページをリダイレクトする
リダイレクト先のURLが実際にページである場合、次のコードが動作しています。ページが存在しない場合はエラーが表示されます。リダイレクト回数が多くなりURLが/archive_archive_archive_archive_archive_archive_archive_archive_archive_archive_archive_properties/property-title
に変更されました
ページが存在しない場合は通常の404ページだけ表示できますか?
add_filter('404_template', function($template) {
$request = filter_input(INPUT_SERVER, 'REQUEST_URI', FILTER_SANITIZE_STRING);
if (! $request) {
return $template;
}
$regex = [
'/properties/' => 'archive_properties/$1',
];
foreach($regex as $pattern => $replacement) {
if (! preg_match($pattern, $request)) {
continue;
}
$url = preg_replace($pattern, $replacement, $request);
wp_redirect($url, 301);
exit;
}
// not our business, let WP do the rest.
return $template;
}, -4000); // hook in quite early
website.com/archive_propertiesに行くのではなく、/ archive_properties(Webサイトのアドレスを前にして)に移動します。 – nsilva
あなたのREQUEST_URIに問題があります。 $ request varをダンプして実際の内容を確認します。 – TurtleTread