htaccess重写规则'页码'问题

时间:2010-07-16 15:55:39

标签: .htaccess mod-rewrite

我已将.htaccess文件添加到我的根文件夹中,以便将动态网址重写为静态网址。这似乎已成功完成,但我遇到了页码问题。

例如,如果您要访问静态页面/widgets,产品的第一页就可以了....但后续页面显示为/products.php?cat=27&pg=2等。我想要的是后续网页的格式为/widgets-pg2/widgets?pg=2

以下是我用于初始类别页面的重写规则: -

RewriteRule ^widgets$ products.php?cat=27

如果您有任何专家可以提供帮助,我们将不胜感激。

4 个答案:

答案 0 :(得分:2)

你还期待这只猫改变吗?您还需要在网址中对此进行说明:

e.g。 www.site.com/widgets/27/2可以改写为:

RewriteRule ^widgets/([0-9]+)/([0-9]+)$ products.php?cat=$1&pg=$2

如果小部件永远是cat 27,那么您可以将其更改为:

RewriteRule ^widgets$ products.php?cat=27 [QSA] 

是查询字符串追加

答案 1 :(得分:1)

尝试

RewriteRule ^widgets-pg(.+)$ products.php?cat=27&pg=$1

之后,go here:)

答案 2 :(得分:0)

在重写的URL之后允许查询字符串使用[QSA]标志:

RewriteRule ^widgets$ products.php?cat=27 [QSA]

链接不是:

http://example.org/widgets?pg=167&perpage=100&tralala=Hi!

答案 3 :(得分:0)

我尝试了以下操作但是当我转到/ widgets时它导致了“404 Not Found”错误: -

RewriteRule ^widgets-pg(.+)$ products.php?cat=27&pg=$1

我尝试了以下方法: -

RewriteRule ^widgets$ products.php?cat=27 [QSA]

这个工作正常但是要转到第二页的小部件页面,我需要输入浏览器: -

/widgets?pg=2

但实际的“第2页”链接仍会导致: -

products.php?cat=27&pg=2

除了重写规则之外......也许我需要一个单独的重定向规则?或者可能需要更改页码链接。但由于这些是动态生成的,我不知道该怎么做。

以下是该页面的PHP代码: - http://freetexthost.com/3ubiydspzm