使用.htaccess文件重写/重定向URL

时间:2014-01-02 18:36:00

标签: apache .htaccess mod-rewrite redirect

我正在寻找正确的代码放在.htaccess文件中,该文件将重定向此内容:

http://www.website.com/title_of_a_post_003424.html

看起来像这样

http://www.website.com/title-of-a-post/

有关变化的注意事项:

  1. 每个帖子的标题会有所不同,而且数字会有所不同。
  2. 标题最多为40个字符。数字总是6位数
  3. 下划线用短划线替换
  4. .html已删除并替换为正斜杠
  5. 最后,如果可能的话,此更改也会使用301重定向,以便搜索引擎用新链接替换旧链接。

    非常感谢所有帮助或想法!

1 个答案:

答案 0 :(得分:0)

尝试:

RedirectMatch 301 ^/([^/]+)_[0-9]{6}\.html$ /$1/
RedirectMatch 301 ^/(.*)_(.*)$ /$1-$2

编辑:

要坚持使用mod_rewrite以免受wordpress重写规则的影响,您需要在 之前添加你的wordpress规则:

RewriteRule ^([^/]+)_[0-9]{6}\.html$ /$1/ [L,R=301]
RewriteRule ^(.*)_(.*)$ /$1-$2 [L,R=301]