如何将带有 .html 的网页重定向到另一个网页

How to Redirect a Webpage with .html to another

我以前用 WordPress 制作过我的网站。我有一些 posts 似乎做得很好 (SEO)。我的 post 中的 url 是 www.sitename.com/this-is-post-title。我已经用 html 重建了网站,并计划将博客 post 移至 blog.sitename.com,这样新的 url 将成为 blog.sitename。com/this-is-post-title.

我创建了一个 html 文件作为 this-is-post-title.html 并将重定向设置为 blog.sitename.com/this-is-post-title。 这是重定向代码

    <meta http-equiv = "refresh" content = "0; url = https://blog.sitename.com/this-is-post-title/" />

访问sitename.com/this-is-post-title.html时正常,访问sitename.com/this-is-post-title时不行。我以前的 post 也没有 .html 因为我在 WordPress 工作。对我有帮助吗?

如果是wordpress网站可以使用这段代码重定向到另一个页面。粘贴到 functions.php

function redirect_page() {

 if (isset($_SERVER['HTTPS']) &&
    ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1) ||
    isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &&
    $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
    $protocol = 'https://';
    }
    else {
    $protocol = 'http://';
}

$currenturl = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$currenturl_relative = wp_make_link_relative($currenturl);

switch ($currenturl_relative) {

    case '[from slug]':
        $urlto = home_url('[to slug]');
        break;
    
    default:
        return;

}

if ($currenturl != $urlto)
    exit( wp_redirect( $urlto ) );


}
add_action( 'template_redirect', 'redirect_page' );

使用您的网址更改 [from slug] 和 [to slug]

您可以在 .htaccess 文件中添加此行:

Options +Multiviews

Multiviews 是 Apache 中的一项功能,它将通过搜索具有扩展名的类似命名文件来提供来自不带扩展名的 URL 的内容。

或者,您可以在 .htaccess

中实施重定向
RedirectMatch permanent ^/this-is-post-title$ /this-is-post-title.html

RewriteEngine on
RewriteRule ^/this-is-post-title$ /this-is-post-title.html [R=301,L]