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

时间:2012-08-12 22:09:14

标签: html wordpress .htaccess redirect

我刚刚在wordpress网站上更改了永久链接。

我的旧链接就像那样,

http://www.sitename.com/category/postname.html

现在有新的链接

http://www.sitename.com/category/postname/

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

2 个答案:

答案 0 :(得分:7)

在文档根目录的htaccess文件中,在 wordpresspress规则之前添加

RedirectMatch 301  ^/([^/]+)/([^/.]+)\.html$ /$1/$2/
RedirectMatch 301  ^/([^/]+)/([^/]+)/([^/.]+)\.html$ /$1/$2/$3/

如果您需要通过主机限制它,可以使用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]

答案 1 :(得分:1)

在htaccess文件中,只需输入:

Redirect 301  /postname.html  http://www.sitename.com/category/postname/