我更改了永久链接的结构,现在我想重定向以下类型的网址
/year/month/post-name
到这个
/post-name
可以在WordPress中使用还是使用htaccess?
答案 0 :(得分:2)
您可以将此规则设为您的第一个重定向规则(位于public class NotFoundMiddleware
{
private readonly RequestDelegate _next;
public NotFoundMiddleware(RequestDelegate next)
{
_next = next.EnsureNotNull(nameof(next));
}
public Task Invoke(HttpContext context)
{
if (context.Response?.StatusCode == StatusCodes.Status404NotFound)
{
// context.Response.StatusCode is 200 because context.Response is set to an instance of DefaultHttpResponse
}
return _next.Invoke(context);
}
}
行下方):
RewriteEngine
答案 1 :(得分:1)
我找到了一个解决方案,我已经在我的开发版本上实现了,但由于WordPress更新,它可能已从实时版本中删除了。
将以下代码放在WordPress安装的/index.php中的任何其他代码之前
// redirect old style links to the new ones
if (preg_match("/\/[0-9]{4}\/[0-9]{2}\//", $_SERVER['REQUEST_URI']))
{
$newURI = '/' . preg_replace("/\/[0-9]{4}\/[0-9]{2}\//", '', $_SERVER['REQUEST_URI']);
header("HTTP/1.0 301 Moved Permanently");
header('Location: ' . $newURI);
exit;
}