0

我正在重写这种网址

http://deia.info/category/calendar/10/

/index.php?task=browse_posts&catid=$2

通过 .htaccess 中的这段代码

RewriteRule ^category/(.+)/(.+) /index.php?task=browse_posts&catid=$2

这似乎可以完成这项工作。问题是当发送附加参数时,这些参数被忽略。

例如:

http://deia.info/category/calendar/10/?start_date=10

isset($_GET['start_date'])不会返回真

为什么?

4

1 回答 1

1

当传入的 URL 包含类似 OP 示例中的查询时:

http://deia.info/category/calendar/10/?start_date=10

在替换 URL 中将其与/附加到新查询的方法是添加QSA Flag

所以添加[L,QSA],像这样:

RewriteRule ^category/(.+)/(.+) /index.php?task=browse_posts&catid=$2 [L,QSA]
于 2013-02-19T14:35:13.717 回答