使用 mod 重写隐藏来自 google 的变量

发布于 2024-12-10 02:19:28 字数 531 浏览 0 评论 0原文

我注意到谷歌使用 URL 中的变量对我的页面进行索引,而其他页面则没有这些变量。这些其他页面中没有变量,并且在没有 php 扩展名的情况下索引良好。

例如:

mydomain.com/page.php?name=flinstones

我的 htaccess 将其重写为:

mydomain.com/flinstones

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

有没有办法强制它只显示/浏览漂亮的网址?

这是我的代码..第一部分有效,但重定向无效。 我该如何让它发挥作用?

RewriteEngine On
RewriteRule ^([^/\.]+)/?$ page.php?name=$1 [L]

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

谢谢,

I noticed that google indexes my pages with the variables in the URL and others pages without them. These other pages do not have variables in them and are indexed fine without the php extension.

For example:

mydomain.com/page.php?name=flinstones

my htaccess rewrites that to:

mydomain.com/flinstones

But it still shows as the former in google search and google analytics.

Is there a way to force it to show/browse only the pretty urls?

Here's my code.. first part works but the redirect doesn't.
How do I make it work?

RewriteEngine On
RewriteRule ^([^/\.]+)/?$ page.php?name=$1 [L]

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

Thanks,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

-黛色若梦 2024-12-17 02:19:28

是的,您可以告诉 Google 规范链接是什么页。

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

Yes, you can tell Google what the canonical link is for a page.

<link rel="canonical" href="http://mydomain.com/flinstones" />
凉城已无爱 2024-12-17 02:19:28

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

Yes, never make google see the ugly link! In your php/html code, always use only the nice form of it. Then google stands no chance :-)

兲鉂ぱ嘚淚 2024-12-17 02:19:28

Mod重写的意思是:
如果出现带有此表单“xxxxx”的页面请求
按照“yyyyy”进行管理
并向请求者告知任何信息。
因此,在您的情况下,谷歌认为这两个网址都是有效的(并且重复的),哎呀!
对于您的情况,请使用 301 重定向,这意味着:“xxxxx”不是有效请求(或已弃用),请请求者(google 或任何人)使用 insetead 'yyyyy'。那么'xxxxx'很快就会被忘记。
另一方面,mod 重写相反的情况是正确的:
mydomain.com/flinstones
重写为:
mydomain.com/page.php?name=flinstones
遵守 SEO 规则并让 php 管理请求。

Mod rewrite means:
If a page request occurs with this form 'xxxxx'
Manage it as it was 'yyyyy'
And do inform anything to the requester.
So in your case google thinks that both urls are valid (and duplicated), ouch!
For your case use a 301 redirect that means: 'xxxxx' is not a valid request (or deprecated), please requester (google or anyone) use insetead 'yyyyy'. then 'xxxxx' will be forgotten soon.
On the other hand, it is correct to mod rewrite your opposite case:
mydomain.com/flinstones
rewrited to:
mydomain.com/page.php?name=flinstones
to honour SEO rules and to let php manage the request.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文