Вот решение, использующее только Apache.Сценарии (на стороне клиента / сервера) вообще не требуются.
Для этого, однако, вы должны иметь возможность изменить конфигурацию Apache, чтобы разрешить перезапись URL-адресов и перезапись карт.Обратитесь к инструкциям для получения справки о том, как это сделать.
После того, как вы выполнили начальную настройку, все, что вам нужно сделать, это определить карту (images.txt) всех суффиксов изображений (1, 2, 3 ...).Затем вы настраиваете apache для получения URL /images/random.jpg
и случайной замены его URL-адресами, такими как /images/image_1.jpg
и /images/image_3.jpg
.
. Строки ниже могут перейти на ваш httpd.conf
, или вы можете поставить второйодна строка внутри .htaccess
.
RewriteMap images rnd:/path/to/images.txt
RewriteRule ^/(.*)images/random.jpg /images/image_${images:dynamic}.jpg
Примечание: Определение RewriteMap
нельзя использовать внутри .htaccess
.Но вы можете использовать директиву RewriteRule
как в .htaccess
, так и в основной конфигурации.
Содержимое карты.Поместите images.txt
в путь, определенный в директиве RewriteMap
выше.
## images.txt
dynamic 1|2|3|4|5
Конечно, вам придется изменить свой HTML-код на:
<table background="/images/random.jpg">
Этот способподобрать такие случайные изображения очень просто по сравнению с решениями для сценариев.Единственный недостаток, который я вижу, - это возможность доступа к основной конфигурации Apache (httpd.conf
, конфигурация виртуального хоста) для размещения там определения карты.Многие компании, предоставляющие общий хостинг, накладывают ограничения на это.Если вы можете преодолеть это препятствие, это действительно прогулка по пирогу.