普通网友 2017-03-30 13:30
浏览 53

将所有博客帖子从%postname%permalink结构重定向到/ news /%postname%

I have changed my permalink to the custom structure /news/%postname% however I am now trying to set up a 301 redirect so if someone types in the old url of http://example.com/this-is-my-post they will automatically be redirect to http://example.com/news/this-is-my-post

I have successfully set up a redirect for my custom post types as I moved all the posts over from the custom post type "events" to "latest" by using this:

RewriteRule ^events/(.*) http://www.example.com/latest/$1 [R=301,L]

However I'm not sure I can use this to redirect the main blog posts without affecting the website pages.

  • 写回答

1条回答 默认 最新

  • dpzlz08480 2017-03-30 13:47
    关注

    To omit the requests for events or latest, you must define an appropriate condition. The rule looks similar to the one you already have

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !^/events/
    RewriteCond %{REQUEST_URI} !^/latest/
    RewriteCond %{REQUEST_URI} !^/news/
    RewriteRule ^(.*)$ /news/$1 [R,L]
    

    You may also combine the three excluding conditions into one

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !^/(events|latest|news)/
    RewriteRule ^(.*)$ /news/$1 [R,L]
    

    When everything works as it should, you may replace R with R=301 (permanent redirect). Never test with R=301.

    评论

报告相同问题?

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大