正在载入...

最新更新:
1.《使用htaccess 301 重定向实现Wordpress固定链接形式随意修改[无敌教程]
2.《.htaccess实现Apache服务器图片和文件防盗链
3.《我用来优化YSlow和Page Speed性能测试的.htaccess设置

今天于无意间发现,居然在给博客设置“固定链接”时,本应该是“/%post_id%.html”,但是却偏偏少了个点,变成了“/%post_id%html”。真是荒谬到顶了。这是必须马上纠正的问题。考虑再三,.html的形式还不如/%post_id%/简洁。最佳的方法肯定是使用.htaccess 301重定向固定链接了,至于插件,能少用就尽量少用,.htaccess 301重定向固定链接代码如下:

RedirectMatch 301 ^/(\d+)html$ /$1

PS:原来的固定链接格式是:/123html,现在301重定向为:/123/。如果要重定向为:/archives/123/,那就把:/$1, 改为:/archives/$1。“$1”表示引用前面的变量。

关于正则表达式一些解释:

^ –> 匹配字符串的开始
$ –> 匹配字符串的结束
\s –> 匹配任意的空白符
\w –> 匹配字母或数字或下划线或汉字
\b –> 是正则表达式规定的一个特殊代码代表着单词的开头或结尾,也就是单词的分界处。
\d –> 匹配一位数字
\W(大写) –> 匹配任意不是字母,数字,下划线,汉字的字符
\S (大写) –> 匹配任意不是空白符的字符
\D (大写) –> 匹配任意非数字的字符
\B(大写) –> 匹配不是单词开头或结束的位置
” . “ –> 匹配除了换行符以外的任意字符
” * “ –> 它代表的不是字符,也不是位置,而是数量——它指定 * 前边的内容可以连续重复使用任意次以使整个表达式得到匹配。” .* “连在一起就意味着任意数量的不包含换行的字符
” + “ –> 是和 ” * ” 类似的元字符,不同的是 * 匹配重复任意次(可能是0次),而 + 则匹配重复1次或更多次。
” ? “ –> 重复零次或一次
” – “ –> 不是元字符,只匹配它本身 连字符(减号)

如果你的链接是:/%postname%-%post_id%.html,现在重定向为:/archives/%post_id%/,那么.htaccess 301重定向固定链接代码应该这么写:

RedirectMatch 301 ^/(.+)-(\d+)\.html$ /archives/$2

PS:(.+)表示重复1次或者多次任意字符,()表示一个变量已定义完毕。“-”这是你自定义固定链接时添加的连接“%postname%”和“%post_id%”的常量,与html一样照写就可以了。(\d+)表示有一位甚至多位数。“\.”表示任意字符。其他的,看正则表达式的一些解释应该就明白了。

本文链接:

关键词:htaccess, WordPress, 互联网, 代码,

(全文完        )

Comments

Trackbacks/Pingbacks

  1. .htaccess设置固定连接301重定向 | 空の領域 --- 2013/02/07

17 条评论(网友评论:15 条,博主回复:1 条, 被转载:1 次)快速评论

  1. 看不懂,
    问下,如果我想从%post_id%.html换到/%postname%.html,应该怎么设置301?

  2. 向博主请教:
    /%postname%/ 重定向到 /%postname%.html 表达式应该怎么写呢?谢谢

  3. 鱼此鱼已

    @alexin
    RedirectMatch 301 ^/(.+)$ /(.+)\.html
    不知道是不是这样子?

  4. 您好!请问如果我把?post=1重定向到post/1该怎么写呢?谢谢!

    • 鱼此鱼已

      @朵未 这个在后台控制板“设置——固定链接——常规设置”的“自定义结构”里设置为:“/post/%post_id%/”(双引号里面的内容),这样应该可以了吧?

      • 呵呵,我说的是htaccess 301重定向能否做到这个?

  5. 请问,站长如何将/%year%/%monthnum%/%day%/%postname%/
    定向到/%year%/%monthnum%/%day%/%postname%.html

    • 鱼此鱼已

      @糯米饭 直接在后台:设置-固定链接设置为:/%year%/%monthnum%/%day%/%postname%.html 这样就可以了吧?

      • 诶,可google网站管理员工具里的HTML建议里重复的标题标记,都是
        / 和 .html 问题,是怎么回事,您知道吗?
        麻烦了.

        • 鱼此鱼已

          @糯米饭 呵呵。我的也有,只是我不去理会。google对wordpress都是支持挺好的。应当网站内容上下功夫。至于baidu,则是你勤快更新内容它就勤快收录。不知道说得对不对。

  6. 大神,我的网站原来是/%category%/%year%/%monthnum%/%postname%.html,现在想要重定向到/%postname%/
    要怎么写?求帮助谢谢!QQ3994253**(为保护隐私,qq好已删改)

    • RedirectMatch 301 ^/(.+)/(d+)/(d+)/(.+).html$ /archives/$4/
      试一下。可以不以。
      仅仅爱好者,不是什么大神。咱们共同学习。

你需要 登录 才可以回复.