Могу ли я перенаправить на новый file в directory с помощью .htaccess?

Я хочу создать правило .htaccess для ситуации, как показано ниже:

  • У меня есть ссылка на file: http://something.com/images/some/image_001.png
  • Если этот file не существует, я хочу перенаправить на новый file в / images / some directory

Возможно ли это с помощью .htaccess? Я знаю, что могу проверить, существует ли file с RewriteCond, но не знаю, можно ли перенаправить его в самый новый file.

Для этого less чистого решения mod_rewrite. Самое близкое может быть использование RewriteMap чтобы указать на скрипт, который всегда возвращает самый новый file в /images/some . Такой простой скрипт всегда выводит последний file в /images/some независимо от ввода:

 #!/bin/bash while read in do find /path/to/images/some/ -maxdepth 1 -type f -exec ls -t1 {} + | head -1 | sed -e 's|/path/to/images/some/||g' done 

И если вы настроите карту в конфигурации serverа или vhost (maps не могут быть объявлены в htaccess):

 RewriteMap latest prg:/path/to/script.sh 

И вы можете вызвать его так:

 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^/?images/some/(.*)$ /images/some/${latest:$1} [L,R=301] 

Конечно, это не очень эффективно, и вам лучше просто написать сценарий php routing и направить все на это вместо maps.

  • Компактные переадресации в Apache / htaccess. Как?
  • Как настроить переkeyатель для Apache RewriteRule?
  • WordPress довольно долго не работает
  • Балансировка нагрузки на основе клиентского certificateа с Apache mod_proxy_ajp и Tomcat
  • Force HTTPS с mod_rewrite, вkeyая proxy SSL
  • mod_write HTTPS удалить "www"
  • mod_rewrite REQUEST_FILENAME не содержит абсолютный path
  • mod_rewrite remove trailing slash вызывает циклы
  • nginx mod_redirect, если первая часть uri не является fileом
  • Отладка правила перезаписи htaccess; 2-я группа захвата (2 доллара) пуста
  • .htaccess удалить расширение php-fileа не работает только на heroku
  • Давайте будем гением компьютера.