1

好的,我已经看到了很多例子,但我似乎仍然无法正确理解。我有来自旧电子平台的旧网址,这些网址在引擎中被大量索引,这些引擎具有非 seo 友好的参数,我需要 301 重定向到我的根目录。

我需要全局 301 将任何内容从 /store/ 重定向到我们的根目录。这是我到目前为止所得到的。

RewriteRule ^store/.*$ / [R=301,NE,NC,L]

它部分完成了工作,但没有删除参数。这是我遇到问题的参数示例。store/index.php?cPath=1

希望我们能尽快修复,因为这让我对这些 url 感到悲痛。

4

3 回答 3

3

为了摆脱自动附加到 mod_alias 和 mod_rewrite 重定向末尾的查询字符串,您需要创建自己的查询字符串,但将其设为空。因此,您只需将 a 添加?到重定向/重写目标的末尾。例子:

使用 mod_rewrite:

RewriteRule ^store/ /? [R=301,L]

使用 mod_alias:

RedirectMatch 301 ^/store/ /?

请注意,使用 mod_alias,?将显示在 URL 地址栏中。

于 2012-09-27T18:01:59.193 回答
0

好了朋友们!这次我们明白了。

正如乔恩·林(Jon Lin)所说,我们缺少一个?某处。对于任何试图设置通配符重定向并且必须从 url 中删除参数的人,这是我们的解决方案。

重写规则 ^store/.*$ /? [R=301,NE,NC,L]

干杯!

于 2012-09-28T18:07:12.860 回答
0

尝试以下一种:

RewriteRule ^store/([^\.]+\.[^?]+) /$1 [R=301,NE,NC,L]

这将从 url 中排除所有参数,因此/store/index.php?cPath=1将转换为/index.php

于 2012-09-27T13:20:13.820 回答