nginx - как 404 код заменить на 301 через PHP?

Сенатор
На сайте с 03.03.2014
Offline
46
298

Можно ли как-то 404 код заменить на PHP?

Вот в конфиге nginx:

error_page 404 /404.php

В 404.php:

<?php 

if (rand(1,5)!=5)
{
header("Location: https://site.ru", true, 301);
}
else
{
header("HTTP/1.1 404 Not Found");
}
?>

Но код всёравно 404 Not Found

Можно ли так код ответа сервера менять? Есть ли варианты?

skapunker
На сайте с 15.01.2014
Offline
190
#1

ерундой какой то занимаешься. Сделай просто страницу index.html и запиши туда

<html>

<head>
<title>Ответ 301</title>
</head>
<body>
<h1>301</h1>
</body>

Вот и все ))))

Мои сайты ищут дно. Я больше не СЕО гуру... Я ухожу в отставку. Однако, я по прежнему царь вебмастеринга.
LEOnidUKG
На сайте с 25.11.2006
Offline
1590
#2

А что, это за условие:

<?php
if (rand(1,5)!=5)
{

?

Если хотите обработку скриптом, то вам правило надо менять:

http://nginx.org/ru/docs/http/ngx_http_core_module.html#error_page

Если при внутреннем перенаправлении не нужно менять URI и метод, то можно передать обработку ошибки в именованный location:

location / {

error_page 404 = @fallback;

}

location @fallback {

proxy_pass http://backend;

}

✅ Трастовых площадок под размещение статей и ссылок. Опыт 12 лет! ( https://searchengines.guru/ru/forum/675690 ) ⭐ Купить вечные трастовые ссылки для сайта ( https://getmanylinks.ru/?srh ) ⭐ Ускорение ваших сайтов (WP, Opencart и др.) + Настройка сервера ( https://searchengines.guru/ru/forum/997205 )
Mik Foxi
На сайте с 02.03.2011
Offline
929
#3

в 404.php у вас будет тот код, который вы выставите в скрипте.

Антибот защита сайта от накрутки поведенческих, от спама, взлома и поиска xss, от хит и клик ботов, от парсинга и кражи контента, снижение нагрузки на сервер - https://antibot.cloud/ Вам все еще конкуренты генерят отказы?
Сенатор
На сайте с 03.03.2014
Offline
46
#4
LEOnidUKG:
А что, это за условие:

?

Это для примера...

Спасибо, помогли.

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