我有以下与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,这也不应被任何抓取工具嗅探。
我相信必须有一种聪明的方法来做到这一点。等待一些有价值的建议。
答案 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