在分页中隐藏偏移量

时间:2012-04-05 22:27:51

标签: php apache .htaccess url

我有以下网址结构

http://www.mydomain.com/vpn-offers-p3.html

此页面应重定向到

http://www.mydomain.com/vpn-offers.php?st=60&page=3
  

这里st是分页的偏移量,随页面而变化,   而页面是当前页码

我正在尝试以这种方式生成网址

<? if($st<$total-$rw){?><a href="<?
 echo "http://www.mydomain.com/vpn-providers-p";?><? echo$offset=$st+$rw."-".$pagenext=$page+1 ;?> class="nextprev">Next</a>

请注意,它也会在链接中显示偏移值

我为

建立了以下'htaccess'规则
R`ewriteRule ^vpn-providers-p([^-]*)\.html$ /vpn-providers.php?st=(.*)&page=$1 [L]`

如果您稍加注意,您会看到第一个网址没有传递偏移值

有人可以告诉我如何隐藏URL中的偏移变量吗?虽然我需要将网页重定向到corectly?

2 个答案:

答案 0 :(得分:1)

@victor他想隐藏查询字符串而不是删除它

在网址中没有隐藏变量这样的东西!它应该以某种方式出现在网址中

无论如何,如果确实有必要,你可以使用cookie和javascript来存储新变量,然后再将用户重定向到新页面,或者在这种情况下,你可以找到偏移而不将其传递给url

   offset =  current page -1 * per page 

并且最好改变

^vpn-providers-p([^-]*)\.html$
to
^vpn-providers-p([0-9]*)\.html$

答案 1 :(得分:0)

发现这篇关于使用.htaccess指令从URL中删除查询字符串的帖子: http://briancray.com/2010/03/18/htaccess-hack-remove-url-query-strings/

mod_rewrite: remove query string from URL?

http://www.webmasterworld.com/apache/4171357.htm

HTH, 维克多