一些模组重写的图像无法加载。为什么?

发布于 2024-10-31 15:07:11 字数 847 浏览 0 评论 0原文

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烙印 2024-11-07 15:07:11

您的 RewriteRule 只允许使用下划线分隔两个部分:

 RewriteRule ^thumb/([^_]*)_([^_]*)\.png$

但是您的 URL 有三个

 example.com/thumb/m0bt_9Qiznc_default.png
                     ^     ^      ^
                     1 _   2  _   3

因此您可能想要更改第一个 [^_]* 只是 .* 以获得更广泛的匹配。或者使用:

 RewriteRule ^thumb/([^/]+)_([^_]*)\.png$

Your RewriteRule only allows for two parts separated by an underscore:

 RewriteRule ^thumb/([^_]*)_([^_]*)\.png$

But your URL has three:

 example.com/thumb/m0bt_9Qiznc_default.png
                     ^     ^      ^
                     1 _   2  _   3

So you probably want to change your first [^_]* into just .* for broader matches. Or use:

 RewriteRule ^thumb/([^/]+)_([^_]*)\.png$
瞳孔里扚悲伤 2024-11-07 15:07:11

就是下划线。

正则表达式仅允许使用一个下划线,但第二个文件名中包含两个下划线。

It's the underscores.

The regex only allows for ONE underscore, but the second file name has two underscores in it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文