2011-04-13 52 views
0

我有去一个htaccess规则:帮助,htaccess的查询字符串追加不断

RewriteRule ^Commercial-Units/For-Sale/(([a-zA-Z]+)*/([0-9]+)*/([a-zA-Z]+)*/([0-9]+)*/([a-zA-Z]+)*/([0-9]+)*)*$ pages/index.php?f=quicksearch&cust_wants=1&want_type=2&at=$3&start=$5&limit=$7 [R=302,L] 

这是专门为当一个页面需要分页记录设计。

我一直在试图寻找在谷歌上随处可见的解决方案和Stackoverflow.com ..

的问题是,每次有人点击,说2页,地址栏不断增加我的查询字符串,如下所示:

http://mysite.com/Commerial-Units/For-Sale/page/2/at/10/limit/7/page/2/at/10/limit/7 

公告称,以上网址containes复制多个键值组合,这推移和每次有人点击下页...

希望有人能指点正确的解决了这个...

非常感谢!

+1

这听起来像是由页面造成的,而不是.htaccess - 例如,文档中的相对链接。你的链接是什么样的? – 2011-04-13 08:50:42

+0

aha!你是一个超级天才,这已经解决了这个问题。我的所有链接都使用绝对路径,并且它们可以正常工作,但我的所有寻呼机都只是配置为使用相对路径!改变他们绝对解决它!但是,我只是使用绝对路径,因为在我的网站启用htaccess会破坏我的链接和页面。 – jan 2011-04-13 08:58:53

+1

如果在你的链接中没有http://它不是绝对链接 – frisco 2011-04-13 09:00:28

回答

0

那不是你的重写,但与您的网站代码的链接添加/page/2/at/10/limit/7当前的网址,你需要删除使用的东西以前PARAMS像../../../../../../page/2/at/10/limit/7

如果这是搜索引擎优化,请使用参数有问题分页,只使用搜索引擎友好的类别和项目的网址,无需索引每一个分页选项,因为这将是重复的内容。

+0

我正在修剪分页url如:http://mysite.com/Commercial-Units/For-Sale/page/2并删除我的分页类所需的其他参数。不幸的是,我需要跟踪GET字符串中的startat位置并限制mysql查询。你能否建议我可以做到这一点? – jan 2011-04-13 09:12:20

+0

首先你可以硬编码的页面大小,所以如果每页的项目总是10页2将是10-20,3 20-30等等。如果您允许更改每页的项目数量(并且它不是全局用户设置),那么使用该参数为mysite.com/Commercial-Units/For-Sale?from=X&to=Y只需要2个参数,谷歌将不会索引后续页面只有一个没有参数 – frisco 2011-04-13 11:43:51

相关问题