将旧.html页面重定向到没有HTML扩展页面的新页面?

Joh*_*ock 4 html wordpress .htaccess redirect

我刚刚在wordpress网站上更改了固定链接.

我的旧链接就像那样,

http://www.sitename.com/category/postname.html
Run Code Online (Sandbox Code Playgroud)

现在有了新的链接

http://www.sitename.com/category/postname/
Run Code Online (Sandbox Code Playgroud)

我在旧链接上遇到404错误,如何使用.htaccess将所有.html页面重定向到新的非.html页面?

Jon*_*Lin 7

在文档根目录中的htaccess文件中, wordpress规则之前添加这些文件:

RedirectMatch 301  ^/([^/]+)/([^/.]+)\.html$ /$1/$2/
RedirectMatch 301  ^/([^/]+)/([^/]+)/([^/.]+)\.html$ /$1/$2/$3/
Run Code Online (Sandbox Code Playgroud)

如果您需要通过主机限制它,您可以使用mod_rewrite:

RewriteCond %{HTTP_HOST} sitename.com [NC]
RewriteRule ^([^/]+)/([^/.]+)\.html$ /$1/$2/ [R=301,L]

RewriteCond %{HTTP_HOST} sitename.com [NC]
RewriteRule ^([^/]+)/([^/]+)/([^/.]+)\.html$ /$1/$2/$3/ [R=301,L]
Run Code Online (Sandbox Code Playgroud)