0

我有以下与 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]

重写工作正常。但是,如果我尝试访问旧 URL,即domainname.com/index.php?page=product&pid=5&proTitle=Samsung Galaxy该页面仍然可以访问,并且 Google 和其他搜索引擎正在抓取该页面。我想如果有人试图访问这个 URL,它应该将他们定向到未找到的页面,这也不应该被任何爬虫嗅探。

我确信必须有一个聪明的方法来做到这一点。期待一些有价值的建议。

4

2 回答 2

0

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

于 2013-09-17T18:51:19.390 回答
0

在 htaccess 中插入以下代码:

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

如果浏览器发现 url 是 404 或 403 ,则直接插入:

错误文档 404 /errormessages/404.php

错误文档 403 /errormessages/403.php

您可以更改路径 /errormessage/404.php 或 403.php 喜欢你想要的

并插入这个“不要使用空间”:


< IfModule mod_rewrite.c >

重写引擎开启

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

重写规则 ^(.*)$ - [F,L]

</IfModule>

于 2013-09-17T18:08:26.807 回答