.htaccess 使用url的一部分作为可获取变量,而不是通配符

.htaccess 使用url的一部分作为可获取变量,而不是通配符,.htaccess,mod-rewrite,server,url-rewriting,.htaccess,Mod Rewrite,Server,Url Rewriting,我试图$\u获取重写url的一部分,但它似乎只有在使用通配符(*)时才起作用 这对我来说很有用: RewriteRule ^info/(.*)$ _extern/web/listing.php?alias=$1 [QSA,L] 但这并不是: RewriteRule ^winkels$ _extern/web/listing.php?alias=$1 [QSA,L] 在info/winkels上,我可以检索别名,当我回显它时,它会显示“winkels”,但在/w

我试图
$\u获取重写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上,它是空的


为什么?

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

尝试使用该重写规则:

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

注意:如果没有捕获括号,
$1
将只是空的…

您将该规则应用于什么请求url,
/info/wínkels
/winkels
?@arkascha要进行测试,我首先用
info/winkels
尝试了它,但我想要
/winkels
,当我尝试时,它停止了工作。我只想在
winkels
页面上阅读别名
winkels
。谢谢!我不知道它也是这样工作的,有道理。