Могу ли я перенаправить на новый file в directory с помощью .htaccess?
Я хочу создать правило .htaccess для ситуации, как показано ниже:
- У меня есть ссылка на file: http://something.com/images/some/image_001.png
- Если этот file не существует, я хочу перенаправить на новый file в / images / some directory
Возможно ли это с помощью .htaccess? Я знаю, что могу проверить, существует ли file с RewriteCond, но не знаю, можно ли перенаправить его в самый новый file.
- Link Duplicity и mod_rewrite
- mod_rewrite все страницы для одного скрипта
- Отбросить конечную косую черту в apache для directoryа
- Перенаправление всех requestов в домен, за exceptionм некоторых папок
- redirect apache на основе реферера
- Имеет ли RewriteCond, которая проверяет наличие fileа, вызывает высокую задержку ввода-вывода?
- Использование DBM RewriteMap для перезаписи тысяч устаревших URL-адресов
- .htaccess переписать вопрос
- Вkeyенные правила перезаписи не совпадают
- Вы viewите что-то не так в моем .htaccess?
- ModRewrite объединяет websiteы с одним
- Apache mod_rewrite, используя текущий URL-адрес в RewriteCond
- Перепишите проблемы с userским веб-websiteом и wordpress
Для этого 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.