一些模组重写的图像无法加载。为什么?
example.com/thumb/AWg7X9Ko5hA_default.png
例如它正在工作......
但是
example.com/thumb/m0bt_9Qiznc_default.png
不是..为什么不呢?
当我访问时
example.com/thumb/media.php?id=m0bt_9Qiznc&type=default
它可以工作。
这是我使用的 htaccess 代码:
RewriteEngine on
RewriteBase /
RewriteRule ^thumb/([^_]*)_([^_]*)\.png$ /thumb/script.php?id=$1&type=$2 [L]
和 script.php:
$media_type = $_REQUEST['type'];
$the_id=$_REQUEST['id'];
if ($media_type=="big")
{
header('Content-type: image/png');
readfile("http://i4.ytimg.com/vi/$the_id/0.jpg");
}
elseif ($media_type=="default") {
header('Content-type: image/png');
readfile("http://i4.ytimg.com/vi/$the_id/default.jpg"); }
example.com/thumb/AWg7X9Ko5hA_default.png
for example it is working....
but
example.com/thumb/m0bt_9Qiznc_default.png
is not.. why not?
when i access
example.com/thumb/media.php?id=m0bt_9Qiznc&type=default
it works.
this is the htaccess code that i use:
RewriteEngine on
RewriteBase /
RewriteRule ^thumb/([^_]*)_([^_]*)\.png$ /thumb/script.php?id=$1&type=$2 [L]
and script.php:
$media_type = $_REQUEST['type'];
$the_id=$_REQUEST['id'];
if ($media_type=="big")
{
header('Content-type: image/png');
readfile("http://i4.ytimg.com/vi/$the_id/0.jpg");
}
elseif ($media_type=="default") {
header('Content-type: image/png');
readfile("http://i4.ytimg.com/vi/$the_id/default.jpg"); }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的 RewriteRule 只允许使用下划线分隔两个部分:
但是您的 URL 有三个:
因此您可能想要更改第一个
[^_]* 只是
.*
以获得更广泛的匹配。或者使用:Your RewriteRule only allows for two parts separated by an underscore:
But your URL has three:
So you probably want to change your first
[^_]*
into just.*
for broader matches. Or use:就是下划线。
正则表达式仅允许使用一个下划线,但第二个文件名中包含两个下划线。
It's the underscores.
The regex only allows for ONE underscore, but the second file name has two underscores in it.