Как я могу сконфигурировать мой файл .htaccess так, чтобы запрос myurl.com/imageX.bmp, где X - это целое число, все служил для одного и того же изображения? - PullRequest
1 голос
/ 29 ноября 2010

Я хочу иметь возможность принимать большое количество запросов на изображение с использованием уникальных имен изображений (для целей отслеживания), однако я не хочу загружать их все.Как я могу настроить свой файл .htaccess, чтобы все запросы на imageX.bmp (image1.bmp image 12.bmp image5438.bmp и т. Д.) Возвращали одно и то же изображение?

Ответы [ 3 ]

2 голосов
/ 29 ноября 2010

С mod_rewrite это довольно просто:

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{REQUEST_URI} ^path/to/the/images/image([0-9]+)\.bmp$ [NC]
RewriteRule (.*) /path/to/the/final/image.bmp

Это должно в значительной степени делать то, что вам нужно, передавать содержимое файла image.bmp любому запросу imageX.bmp.Если вы хотите углубиться в mod_rewrite, здесь хороший учебник, с которого можно начать.

Но, как предложил Горан, добавление параметра в URI будет проще, ине намного менее надежный.

1 голос
/ 29 ноября 2010

Я знаю, что это не совсем ответ на ваш вопрос, но это то, что я придумал (если вы используете ОС на основе Unix).

Вы можете сделать это без .htaccess если вы создаете ссылки на файловую систему для всех имен файлов.

Например, у вас будет один image.bmp и ссылки на image1.bmp, image2.bmp .. ets, указывающие на image.bmp.

Вы можете создавать ссылки с помощью:

ln -s image.bmp image1.bmp
ln -s image.bmp image2.bmp 

... и т. Д.

Или с помощью сценария bash, подобного следующему:

 #!/bin/bash
for x in {1..50000}
do
ln -s image.bmp image$x.bmp
done

Таким образом, вы могли бы иметьтолько один файл был обработан для всех запросов.

Но, возможно, есть еще лучший способ решить вашу проблему!

Просто добавьте параметр GET к вашему запросу, например:

http://domain.foo.com/path/image.bmp?number=12334

Затем запустите веб-приложение, отмечающее все запросы и их номера.Или зарегистрируйте все запросы в журнале apache и проанализируйте их позже.

Надеюсь, что любой из них действительно поможет!

0 голосов
/ 29 ноября 2010

+ 1 для использования image.bmp? Number = 12345 вместо image12345.bmp

...