.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
。谢谢!我不知道它也是这样工作的,有道理。