RewriteRule没有';t检索php函数生成的字符


RewriteRule doesn't retrieve characters generated by php function

我有一个php脚本,它以文件url为参数并发送回文件内容。我动态生成url:

<img src="get/<?php echo get_file_path_by_ID($album['IDCover']); ?>" />

它将生成这样的url:

<img src="get/16volt'Primal'Folder.jpg">

重写规则是:

RewriteRule ^get/(.+) get.php?path=$1 [L]

问题是PHP生成的字符串总是被忽略,所以$1总是空的。我可以在控制台中看到,调用的URL是:

"网络错误:找不到404-http://localhost:8080/mediatheque3/get/16volt%5CPrimal%5CFolder.jpg"

但是在我的get.php文件中,$_GET['path']总是空的。

如果我更改src,如:

<img src="get/<?php echo 'plop'.get_file_path_by_ID($album['IDCover']); ?>" />

我只会在$_GET['path']中得到"plop"。

为什么src看起来是正确的,但apache没有检索到$_GET['path']

似乎问题来自反斜杠,我注意到,通过尝试在html中使用带有反斜杠的静态url,这也不起作用,并用斜杠代替了它。现在$_GET['path']中已填充了该信息。不管怎样,谢谢你的帮助。