永久重定向URL到找不到的页面

时间:2013-09-17 17:17:34

标签: redirect url-rewriting

我有以下与URL重写有关的问题。我相信必须有一些好的解决方案。

我转换了这个网址

domainname.com/index.php?page=product&pid=5&proTitle=Samsung Galaxy

重写后,它看起来像这样

domainname.com/products/5/Samsung-Galaxy.html

.htaccess代码如下所示。

RewriteRule ^products/(.*)/(.*).html$ index.php?page=product&pid=$1&proTitle=$2 [nc]

重写工作正常。但是,如果我尝试访问旧网址,domainname.com/index.php?page=product&pid=5&proTitle=Samsung Galaxy该网页仍然可以访问,并且最重要的是被Google和其他搜索引擎抓取。我想如果有人试图访问此URL,它应该将它们引导到Page Not Found,这也不应被任何抓取工具嗅探。

我相信必须有一种聪明的方法来做到这一点。等待一些有价值的建议。

2 个答案:

答案 0 :(得分:0)

在htaccess中插入此代码:

代码可以使URL“domainname.com/index.php?page=product&pid=5&proTitle=Samsung Galaxy”看起来403 Forbidden

如果浏览器发现网址是404或403:

,请直接插入此项
  

ErrorDocument 404 /errormessages/404.php

     

ErrorDocument 403 /errormessages/403.php

你可以像你想要的那样改变路径/errormessage/404.php或403.php

并插入“不要使用空格”:


< IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond%{THE_REQUEST} ^。(\?page = product& pid = $ 1& proTitle = $ 2)。 [NC]

RewriteRule ^(。*)$ - [F,L]

< / IfModule>

答案 1 :(得分:0)

我认为你不应该让这个页面无法访问,因为人们可能已经为它添加了书签,而你只是让它更难回到原来的位置。如果您的主要问题是Google仍在引用它,那么请使用rel =“canonical”并指定您希望Google使用的网址。 https://support.google.com/webmasters/answer/139394?hl=en