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

Redirect 将URL永久重定向到找不到的页面,redirect,url-rewriting,Redirect,Url Rewriting,我有以下与URL重写相关的问题。我相信一定有很好的解决办法 我转换了这个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

我有以下与URL重写相关的问题。我相信一定有很好的解决办法

我转换了这个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
,则该页面仍然可以访问,除此之外,谷歌和其他搜索引擎还在对其进行爬网。我想,如果有人试图访问这个网址,它应该直接向他们的网页找不到,这也不应该被任何爬虫嗅探


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

在htaccess中插入以下代码:

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

如果浏览器发现url为404或403,请插入此选项:

ErrorDocument 404/errormessages/404.php

ErrorDocument 403/errormessages/403.php

您可以根据需要更改路径/errormessage/404.php或403.php

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


重新启动发动机

重写cond%{THE_REQUEST}^。(\?page=product&pid=1&proTitle=2)。[北卡罗来纳州]

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


我认为你不应该真的让页面无法访问,因为人们可能已经将其添加到书签中,而你只是让它更难回到原来的位置。如果您的主要问题是Google仍在引用它,那么请使用rel=“canonical”并指定您希望Google使用的URL

谢谢你的回复。我确实试过了,但没有成功。我现在正在尝试一个简化的URL。这是它的实际外观。谢谢你的回复。我确实试过了,但没有成功。我现在正在尝试一个简化的URL。这是它的实际外观。domainname.com/index.php?pg=contactus重写URL如下。domainname.com/contact.html重写规则如下所示重写规则^contact.html$index.php?pg=contactus[nc]”我使用了您提供的代码,如下所示<代码>重写cond%{THE_REQUEST}^。(\?pg=contactus)。[NC]RewriteRule^(.*)-[F,L]它如上所述加载两个URL。我希望这个URL能永久地移动到domainname.com/index.php?pg=contactus这是一个刚刚上传的新站点,没有URL重写。。所以没有任何书签的机会。此外,谷歌机器人嗅探网页的速度非常快,因此我不想再抓取任何网页。您可以使用robots.txt防止进一步的抓取,并使用规范引用设置首选URL。如果谷歌知道这一点,其他人也会知道,并且可能会跟随链接,而你不知道谷歌下一次会抓取你的网站。