.htaccess - 使用部分 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 上它是空的。
为什么?
解决方案
您忘记实际捕获要移交的 URL 部分。
尝试使用该重写规则:
RewriteRule ^/?(winkels)$ _extern/web/listing.php?alias=$1 [QSA,L]
注意:没有捕获括号$1
将只是空的......
推荐阅读
- python - 按国家和设备分组的平均每月订单数
- c# - 遍历字典并使用 value 遍历类 C#
- excel - 如果仅包含一列带文本,则删除工作表
- android - React Native:找不到标签的 ViewManager
- git - 在 Ubuntu 上使用 Samba 的 Git:“取消文件链接”
- python - Django 加载 20,000 个 QuerySet 的速度快多少?
- struct - Octave:结构体和元胞数组之间的差异
- asp.net-mvc - 会话超时后出现 403 错误,现在无法登录或注销
- c# - 通过
从字符串参数使用 AddSingleton - c - 如何使用 C 中的函数指针遍历泛型类型 (void**) 的数组?