Я использую эту технику для изменения размеров изображений «на лету», которая использует .htaccess и некоторый скрипт php.Как извлечь строку с регулярным выражением
в .htaccess у меня есть это:
# BEGIN ImageResizing
<ifmodule mod_rewrite.c>
RewriteEngine on
RewriteBase/
RewriteRule ^img-small/([A-Za-z0-9/_-]+).(jpg|gif|png)$ images.php?max_width=100&imgfile=$1.$2
</ifmodule>
# END ImageResizing
images.php это скрипт, который делает фактическую Resize
это выражение регулярного выражения:
^img-small/([A-Za-z0-9/_-]+).(jpg|gif|png)$
спички этот путь:
http://yoursite.com/img-large/myimagepath/myimage.jpg
, а затем отправляет его на images.php сценарий как аргументы $ 1. $ 2
images.php?max_width=100&imgfile=$1.$2
Мой вопрос: Как я могу сделать эту работу, если у меня есть этот путь:
http://yoursite.com/myimagepath/min_myimage.jpg
I пытался построить выражение вроде этого:
^([A-Za-z0-9/_-]+/)+(min_)([A-Za-z0-9]+).(jpg|gif|png)$
I т Хинк проблема на второй части RewriteRule
images.php?max_width=100&imgfile=$1.$2
Я пытался изменить что-то вроде:
images.php max_width = 100 & imgfile = $ 1 + $ 3 $ 4
это является firt строк сценария php:
// max_width and image variables are sent by htaccess
$max_height = 1000;
$image = $_GET["imgfile"];
$max_width = $_GET["max_width"];
if (strrchr($image, '/')) {
$filename = substr(strrchr($image, '/'), 1); // remove folder references
} else {
$filename = $image;
}
$size = getimagesize($image);
$width = $size[0];
$height = $size[1];
В частности, какой сервер ошибок вы получаете? – BlackVegetable
Может быть: http://regexr.com?37ds4 – jaco0646
@BlackVegetabl 500 internal – doflip