Когда нужно применять уловки типа содержания зависящего от времени масса вебмастеров все ещё используют CGI скрипты которые производят редиректы на специальные страницы. Как это может быть сделано через mod_rewrite?
Решение:
Есть много переменных названных TIME_xxx для условий редиректа. В связке со специальными лексикографическими образцами для сравнения <STRING, >STRING и =STRING мы можем производить редиректы зависящие от времени:
Это выдает содержимое foo.day.html при запросе URL foo.html с 07:00 до 19:00 а в оставшееся время содержимое foo.night.html. Просто класная вещь для какой-либо странички…
Обратная совместимость при миграции с YYYY на XXXX
Описание:
Как возможно сделать URL обратно совместимыми (все ещё существующими виртуально) после миграции документа document.YYYY в документ document.XXXX, т.е. после преобразования кучи .html файлов в файлы .phtml?
Решение:
Мы просто оставляем без изменения имя файла и проверяем существование нового расширения. Если оно существует, мы оствляем это без изменений, иначе мы перенаправляем URL в его реальное местоположение.
# набор правил для обратной совместимости при
# редиректе для document.html в document.phtml
# тогда и только тогда когда document.phtml существует
# одноко не является document.html
RewriteEngine on
RewriteBase /~quux/
# вычленяем базовое имя, и запоминаем его
RewriteRule ^(.*)\.html$ $1 [C,E=WasHTML:yes]
# делаем редирект на document.phtml если он существует
RewriteCond %{REQUEST_FILENAME}.phtml -f
RewriteRule ^(.*)$ $1.phtml [S=1]
# иначе делаем откат на предыдущий документ
RewriteCond %{ENV:WasHTML} ^yes$
RewriteRule ^(.*)$ $1.html