некоторые мод переписанные изображения не загружаются.Зачем? - PullRequest
1 голос
/ 08 апреля 2011

example.com / палец / AWg7X9Ko5hA_default.png

например, это работает ....

но

example.com / палец / m0bt_9Qiznc_default.png

нет .. почему бы и нет?

когда я получаю доступ

example.com / палец / media.php? ID = m0bt_9Qiznc и тип = по умолчанию

работает.

это код 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"); }

Ответы [ 2 ]

1 голос
/ 08 апреля 2011

Это подчеркивание.

Регулярное выражение допускает только одно подчеркивание, но во втором имени файла есть два подчеркивания.

1 голос
/ 08 апреля 2011

Ваш RewriteRule допускает только две части, разделенные подчеркиванием:

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

Но ваш URL имеет three :

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

Таким образом, вы, вероятно, захотите изменить свой первый [^_]* на .* для более широких совпадений.Или используйте:

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