【问题标题】:Rewrite htaccess rule for all posts重写所有帖子的 htaccess 规则
【发布时间】:2016-11-03 04:13:07
【问题描述】:

我正在尝试重写从 php 自定义 CMS 迁移到 Wordpress 的规则。

其实帖子的标准网址是:

www.domain.com/category_with_underscores/YYYYMMDD/12345/title_of_the_post_with_underscores/

注意:12345 是旧自定义数据库中帖子的 ID。

我很想获得一个带有 301 的重写 URL,如下所示:

www.domain.com/category-with-dashes/title-of-the-post-with-dashes/

但我在使用正则表达式时遇到了一些困难。

有人可以帮助我吗? 删除 URL 的某些部分(例如 ID,因为我无法在 WP 中复制它)和/或日期是否是个好主意?

谢谢, 弗朗切斯科

【问题讨论】:

  • 在加载页面之前在子主题functions.php中执行此操作是否可以接受?与简洁的 htaccess 语言结构相比,这将为您提供终极控制和灵活性。
  • 谢谢,但是关于 seo 是一样的还是首选 htaccess 解决方案?
  • 不,在这两种情况下,您都可以在服务器发送任何其他输出之前发送标头。事实上,我会发布一个不错的 wordpress 插件,我在为您查看此内容时看到了该插件。也许这对您来说是一个很好的解决方案,因为它包括跟踪这些网址的“点击”(尽管它可能不支持您需要的自定义正则表达式)。

标签: php wordpress apache .htaccess mod-rewrite


【解决方案1】:

鉴于 OP 在 cmets 中指出 htaccess 只是实现最终 SEO 目标的一种解决方案,我推荐 https://wordpress.org/plugins/redirection/ 作为解决方案。如果它没有所需的正则表达式自定义,我将使用一个最终将执行 htaccess 功能但语法不那么简洁且在 Wordpress 本身内的版本来扩展我的答案。

【讨论】:

  • 完美,我马上试试,我会告诉你的;)谢谢
猜你喜欢
  • 1970-01-01
  • 2012-06-11
  • 2010-09-26
  • 2011-11-21
  • 2012-07-31
  • 1970-01-01
  • 2010-12-10
  • 1970-01-01
  • 2011-11-03
相关资源
最近更新 更多