.htaccess 重写规则友好的url与分页

j2datikz  于 2023-03-09  发布在  其他
关注(0)|答案(1)|浏览(124)

我需要更改我的重写规则。我有一个重写友好的URL:
RewriteRule ^homepage/([^/]+)$ /home.php?path=$1 [L]
它处理/homepage/gite-di-1-giorno的URL。
这是可行的。但是同一页面还必须处理分页,例如:/homepage/gite-di-1-giorno?page=2
我试过这个:

RewriteCond %{QUERY_STRING} ^homepage/([^/]+)$&page=([0-9]+)
RewriteRule ^homepage/([^/]+)$&page=([0-9]+) /home.php?path=$1&page=$2 [L]

但是$_GET["page"]没有被设置。

w9apscun

w9apscun1#

看起来您只需要将QSA(查询字符串附加)标记添加到原始规则中。

RewriteRule ^homepage/([^/]+)$ /home.php?path=$1 [QSA,L]

QSA标志将原始请求中的查询字符串(如果有)与您在 substitution 字符串中设置的查询字符串进行附加(合并)。因此,/homepage/gite-di-1-giorno?page=2的请求将在内部重写为/home.php?page=gite-di-1-giorno&page=2
参考:

  • https://httpd.apache.org/docs/current/rewrite/flags.html#flag_qsa

相关问题