Метод 1: использование RewriteRules с регулярными выражениями
Один из способов включить метку даты и времени в ваши URL-адреса — использовать модуль Apache mod_rewrite. Вот пример:
RewriteEngine On
RewriteRule ^(.*)$ $1-%{TIME_YEAR}%{TIME_MON}%{TIME_DAY}%{TIME_HOUR}%{TIME_MIN}.html [L]
Это правило добавляет текущую дату и время в конец URL-адреса, создавая уникальную ссылку с отметкой времени. Например, example.com/articleстановится example.com/article-202103111230.html.
Метод 2: использование переменных среды
Другой подход заключается в использовании предопределенных переменных среды в.htaccess. Вот пример:
RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^(.*)$ $1-%{TIME_YEAR}%{TIME_MON}%{TIME_DAY}%{TIME_HOUR}%{TIME_MIN}.html [L,E=TIMESTAMP:$1]
Этот метод присваивает временную метку переменной среды с именем «TIMESTAMP» и добавляет ее к URL-адресу. Результирующий URL-адрес будет выглядеть как example.com/article-202103111230.html.
Метод 3: пользовательская функция с mod_rewrite
Если вам нужна большая гибкость, вы можете создать пользовательскую функцию с помощью директивы RewriteMap. Вот пример:
RewriteEngine On
RewriteMap timestamp prg:/path/to/custom_script.php
RewriteRule ^(.*)$ $1-${timestamp:%{REQUEST_URI}} [L]
При таком подходе мы выполняем специальный PHP-скрипт custom_script.php, который генерирует временную метку и возвращает ее в Apache. Результирующий URL-адрес будет похож на example.com/article-202103111230.html.
Метод 4: использование PHP для создания временных меток.
Если на вашем сервере включен PHP, вы можете использовать его для динамического создания временных меток. Вот пример:
RewriteEngine On
RewriteRule ^(.*)$ $1-<?php echo date("YmdHi"); ?>.html [L]
Этот метод встраивает код PHP непосредственно в файл.htaccess, что позволяет генерировать временную метку с помощью функции date(). Результирующий URL будет иметь вид example.com/article-202103111230.html.