Изменение содержимого файла по расписанию

5
На сайте с 29.07.2011
Offline
94
713

Добрый день, помогите додумать, пожалуйста.

Например, есть файл redirect.html в нем прописан 301 на страницу index1.html

Мне нужно чтобы с 12 дня до 12 ночи там так и оставался редирект на index1.html, а с 12 ночи до 12 ночи шел редирект на index2.html

Т.е. хотелось бы изменить именно содержимое файла.

Возможно это как-то задать в cron или еще может есть какое решение?

Спасибо!

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#1

Да можно. Написать PHP скрипт, который будет переписывать содержимое по времени и потом вызывать этот скрипт через крон.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
C
На сайте с 26.10.2013
Offline
54
#2

LEOnidUKG, проще написать скрипт, который будет выполнять редирект в зависимости от времени суток :)

Услуги по парсингу данных (/ru/forum/939826), единоразовый и регулярный сбор данных. Любые объемы. Скрипты на PHP, создание и доработка, решение проблем с сайтами Пишите в личные сообщения или скайп
Katrin1988
На сайте с 14.03.2012
Offline
78
#3

Всего-то надо одно сравнение

if((date("H")>=12) and (date("H")<=00))

{

//redir_dnya

}

else

{

//redir_noch

}

Или

if(date("a")=="pm")

{

//redir_dnya

}

else

{

//redir_noch

}

LinkBoss.net - Трастовые ссылки для увеличения трафика в 10 раз! (http://linkboss.net/)
LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#4
colorito:
LEOnidUKG, проще написать скрипт, который будет выполнять редирект в зависимости от времени суток :)

ХЗ, в ТЗ написано:

Т.е. хотелось бы изменить именно содержимое файла.

Его и выполняем.

P
На сайте с 08.02.2016
Offline
23
#5
Katrin1988:
Всего-то надо одно сравнение

if((date("H")>=12) and (date("H")<=00))
{
//redir_dnya
}
else
{
//redir_noch
}

Или

if(date("a")=="pm")
{
//redir_dnya
}
else
{
//redir_noch
}

date() возвращает string, а они сравниваются с помощью функции strcmp.

Можно преобразовать в число, а потом сравнивать:

if((intval(date("H"))>=12) and (intval(date("H"))<24))
{
//redir_dnya
}
else
{
//redir_noch
}

Либо сравнивать как строки с помощью strcmp:

if((strcmp(date("H"),"12")>=0) and (strcmp(date("H"),"24")<0))
{
//redir_dnya
}
else
{
//redir_noch
}

Второй вариант тоже через strcmp:

if(strcmp(date("a"),"pm")==0)
{
//redir_dnya
}
else
{
//redir_noch
}

Не рекомендуется сравнивать разные типы данных с помощью стандартных операторов. Это медленно и неинтуитивно, да и новички потом начнут глупые ошибки допускать

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий