0

我最近更改了我的网站永久链接。一些链接被谷歌索引,它们在搜索结果中。但是由于我的永久链接的更改,现在谷歌搜索将它们发送到错误 404 页面,这真的很糟糕。

因此,我不想显示 error404,而是将它们重定向到从链接中提取关键字的搜索页面,例如:

我现在不存在的原始链接:

http://www.mydomain.com/2013/01/some-title-of-my-site/

现在如果是 error404 将它们重写到搜索页面

http://www.mydomain.com/search?q=some+title+of+my+site

这是我的解决方案:它工作得很好(没有错误页面:-))

使用htaccess将error404重定向到搜索页面,然后通过explode url设置搜索查询

$urlfrom404 =   strtolower($_SERVER['REQUEST_URI']);
$tokens = explode('/', $urlfrom404);
$removeHyphen = strtr($tokens[sizeof($tokens)-2], '-', ' ');
4

1 回答 1

0

你不需要.htaccess做重定向。相反,您可以这样做:

if ( num_rows_result ( $query ) == 0 )
    header ( 'Location: /search?q=' . $_GET['post'] );

该函数num_rows_result ( $query )应该返回从您的数据库中匹配的行数,它应该是0或者1没有其他,因为您应该将它与主键进行比较。

于 2013-02-20T02:15:51.817 回答