我目前使用以下规则从标准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();