使用.htaccess在php中无法进行分页URL重写


Paging URL rewriting not working in php using .htaccess

我在.htaccess:-中使用此规则

RewriteRule ^online-sale on-sale.php
RewriteRule ^online-sale/page-([0-9]+)$ on-sales.php?page=$1

第一条规则是运作良好。例如,如果我打电话http://www.sitename/online-sale已成功打开个页面。当我打电话的时候http://www.sitename/online-sale/page-2页面打开良好,但我无法访问此页面上的$_REQUEST["page"]值。

有人能告诉我出了什么问题吗?这可能吗?

提前谢谢。

您需要在第一条规则中使用锚点$来避免页面URL匹配:

RewriteRule ^online-sale/?$ on-sale.php [L]
RewriteRule ^online-sale/page-([0-9]+)/?$ on-sale.php?page=$1 [L,QSA]

还建议使用LQSA标志。

QSA(查询字符串附加)标志在添加新查询参数时保留现有查询参数。