首页 > 解决方案 > 使用部分 url 作为可获取变量,而不是通配符

问题描述

我正在尝试$_GET重写 url 的一部分,但它似乎只在我使用通配符时才有效(.*)

所以这对我有用:

RewriteRule         ^info/(.*)$ _extern/web/listing.php?alias=$1 [QSA,L]

但这不是:

RewriteRule         ^winkels$ _extern/web/listing.php?alias=$1 [QSA,L]

在 info/winkels 上,我可以检索别名,当我回显它时它显示“winkels”,但在 /winkels 上它是空的。

为什么?

标签: .htaccessmod-rewriteserverurl-rewriting

解决方案


您忘记实际捕获要移交的 URL 部分。

尝试使用该重写规则:

RewriteRule ^/?(winkels)$ _extern/web/listing.php?alias=$1 [QSA,L]

注意:没有捕获括号$1将只是空的......


推荐阅读