1

首先我知道并理解如何根据参数重定向:)

我的问题是我需要根据提供的 MenuID 参数重定向所有链接并忽略查询字符串中的任何其他信息,因为并非所有参数都用于每个网页请求,例如 menuid=2738421; 是新产品

http://www.domain.com/shop.php?menuid=2738421&menuref=Ja&menutitle=New+Products& limit=5&page=24

或者,

http://www.domain.com/shop.php?menuid=2738421&menuref=Ja&menutitle=New+Products&limit=20&page=3

或者,

http://www.domain.com/shop.php?menuid=2738421&menuref=Ja&page=12&limit=15

http://www.domain.com/new.html?page=x&limit=x

重定向的原因是搜索引擎已将这些页面编入索引,因此我需要美化 URL。

这实际上可以创建一个模糊的重定向标准吗?

## 301 Redirects
# 301 Redirect 1 - works for this explicit URL, but need a partial result
RewriteCond %{QUERY_STRING}  ^$
RewriteRule ^new\.html$ http://www.monarchycatering.com/shop.php?menuid=2738421&menuref=Ja&menutitle=New+Products&limit=5&page=24 [R=301,NE,NC,L]

感谢您的帮助,在此先感谢您

标记。

4

3 回答 3

0

抱歉耽搁了,但 StackOverflow 似乎没有办法标记已回复并需要我注意的答案。

好的,如果我理解正确,您在现实世界中有一个传入的“简化”半 SEF URL(由您的链接产生),例如

http://www.domain.com/new.html&limit=5&page=24

(“真正的” SEF 类似于http://www.domain.com/new/limit/5/page/24.html

并且您需要使用 .htaccess 将其映射到真实文件和更多查询字符串信息:

http://www.domain.com/shop.php?menuid=2738421&menuref=Ja&menutitle=New+Products&limit=5&page=24

new.html例如,您想检测并用固定字符串 shop.php?menuid=2738421&menuref=Ja&menutitle=New+Products&替换它,使用 [QSA] 标志将现有查询字符串附加到末尾?

RewriteEngine On
RewriteRule  ^new\.html  /shop.php?menuid=2738421&menuref=Ja&menutitle=New+Products [QSA]
RewriteRule  ^sale\.html  /shop.php?menuid=32424&menuref=Ja&menutitle=Products+On+Sale [QSA]
...etc...

我相信如果用户提供了一个非空的查询字符串,一个 & 将被卡在重写地址的末尾,但一定要同时测试它。

PS使用“评论”来回答我的问题可能会更干净,而不是添加另一个答案。

于 2013-07-31T17:05:43.423 回答
0

并感谢您对我的问题的兴趣...

我已经重写了我网站的部分内容,Google 仍然引用了旧的 MenuID 参数和 shop.php 配置,但现在我将查询重写为更漂亮的格式,例如

http://www.domain.com/shop.php?menuid=2738421&menuref=Ja&menutitle=New+Products&limit=5&page=24

就是现在

http://www.domain.com/new.html&limit=5&page=24

这些页面代表产品类别,因此需要以更有意义的方式显示。只要我可以重定向页面,客户书签不是问题。

我希望这是有道理的,最好的祝愿,

标记。

于 2013-07-11T13:01:56.937 回答
0

我不清楚你的出发点是什么,以及你试图结束的地方。您是否有想要将“漂亮” URL 转换为脚本可以实际消化的“非漂亮”查询字符串?

重定向的原因是搜索引擎已将这些页面编入索引,因此我需要美化 URL。

如果搜索引擎已经索引了查询字符串非漂亮的版本,他们现在必须用漂亮的 URL 重新索引。所有客户的书签也是如此。

如果您想在您的站点内生成“漂亮”链接,并在重新进入非漂亮查询字符串时对其进行解码(在 .htaccess 中),那应该可以。您客户的现有书签甚至应该继续工作,而搜索引擎将用漂亮的 URL 替换非漂亮的。

于 2013-07-10T19:43:05.170 回答