隐藏变量从谷歌使用mod重写


HIDE variables from google using mod rewrite

我注意到google用URL中的变量索引我的页面,而其他页面没有。这些其他页面没有变量,没有php扩展也可以很好地进行索引。

例如:

mydomain.com/page.php ? name =摩登

my htaccess将其改写为:

mydomain.com/flinstones

但在谷歌搜索和谷歌分析中仍然显示为前者。

是否有一种方法可以强制它只显示/浏览漂亮的url ?

这是我的代码。第一部分工作,但重定向没有。我如何使它工作?

RewriteEngine On
RewriteRule ^([^/'.]+)/?$ page.php?name=$1 [L]
RewriteRule ^page.php?name=([^/'.]+)/?$ /$1  [R=301,L] 

谢谢,

是的,你可以告诉Google一个页面的规范链接是什么

<link rel="canonical" href="http://mydomain.com/flinstones" />

是的,永远不要让谷歌看到丑陋的链接!在php/html代码中,始终只使用它的良好形式。那么google就没有机会了:-)

Mod重写意味着:如果一个页面请求出现在这个表单'xxxxx'
把它当作'yyyyy'来管理
并且一定要通知请求者。
所以在您的情况下,google认为这两个url都是有效的(并且是重复的),哎哟!
对于您的情况,使用301 redirect表示:'xxxxx'不是有效的请求(或已弃用),请请求者(谷歌或任何人)使用'yyyyy'代替。那么"xxxxx"很快就会被遗忘。
另一方面,它是正确的mod rewrite你的相反情况:
mydomain.com/flinstones
重写:
mydomain.com/page.php ? name =摩登
遵守SEO规则,让php来管理请求