提问人:poepykooitje 提问时间:7/21/2023 最后编辑:poepykooitje 更新时间:7/21/2023 访问量:35
htaccess 重写 url 参数中的斜杠
htaccess rewrite slash in url parameter
问:
我有一个PHP文件,它接受两个URL参数,一个“fileUrl”和一个“token”。
使用它时,它看起来像这样: 但是,我在 .htaccess 中将 URL 重写为以下格式时遇到了困难: 我相信由于“media/streams.mpd”中的斜杠,这不起作用。
删除斜杠时,它可以工作。但是,由于使用了不同的子文件夹,因此需要斜杠。/getfile.php?token=randomtoken&fileUrl=media/streams.mpd
/randomtoken/media/streams.mpd
我最终得到了这个:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ([^/]+)/([^/]+)$ /getfile.php?token=$1&fileUrl=$2 [QSA,L]
但不幸的是,这不起作用,正如我所说,它只有在没有斜杠的情况下才有效。
有人可以帮我吗,可以这样做吗?
提前致谢!
编辑:我已经考虑过对“fileUrl”进行 URL 编码,但这不适用于 mpd 文件,mpd 文件是分段视频清单,在同一文件夹中有很多文件。
答: 暂无答案
评论
[^/]+
fileUrl
randomtoken/
randomtoken
<anything>/<anything-except-slash>/<anything-except-slash>
([^/]+)/([^/]+)$
^/?([^/]+)/(.+)/?$
randomtoken
eyJpcCI6IjE5Mi4xNjguMTc4LjEiLCJ0aW1lc3RhbXAiOjE2ODk4NjM2OTJ9
/eyJpcCI6IjE5Mi4xNjguMTc4LjEiLCJ0aW1lc3RhbXAiOjE2ODk4NjM2OTJ9/media/streams.mpd
Options +FollowSymLinks RewriteEngine On RewriteRule ^/?([^/]+)/(.+)/?$ /getfile.php?token=$1&fileUrl=$2 [QSA,L]