将不正确的SEO url重定向到正确的url


Redirect incorrect SEO URLs to the correct ones

我目前使用以下规则从标准url重定向到SEO url:

RewriteRule ^books/v/([0-9]+)/(.*)/page([0-9]+) books.php?type=book&id=$1&title=$2&page=$3 [L]
RewriteRule ^books/c/([0-9]+)/(.*)/page([0-9]+) books.php?type=category&id=$1&title=$2&page=$3 [L]
RewriteRule ^books/v/([0-9]+)/(.*) books.php?type=book&id=$1&title=$2 [L]
RewriteRule ^books/c/([0-9]+)/(.*) books.php?type=category&id=$1&title=$2 [L]
RewriteRule ^books books.php [L]`

现在,我想做的是将具有正确id和错误标题的URL自动重定向到正确的URL。

Stackoverflow做了类似的事情-如果你输入一个问题的URL与正确的ID,但一个错误的匹配标题,它会自动重定向到正确的URL。

我想应该用PHP,但我真的不知道什么是最好的方法做重定向

PHP是这样做重定向的。

基本思想很简单:

  • 调用PHP脚本的ID和标题部分,如上面所示

  • 在PHP脚本中,从数据库 加载带有ID的记录。
  • 匹配数据库中记录的标题和URL中的标题

  • 如果他们不匹配,做一个头部重定向到正确的URL与ID,从数据库的标题:

    header("Location: /books/v/123456");
    die();