redireccionar - Entender la redirección de PHP 404 relacionada con la solicitud de obtención no válida
redireccionar php (2)
.htaccess es la forma de hacer esto.
ErrorDocument 404 index.php?404
esa línea le indicará a apache qué archivo cargar. El ejemplo anterior llama al script principal index.php.
agregue algo como esto a la parte superior de su archivo index.php:
$error_404 = isset($_GET["404"]) ? true : false;
ahora puede detectar si tiene una solicitud de error 404. $ error_404 será verdadero, entonces ¿por qué no agregar una función simple?
function error_404($error_404)
{
if($error_404 == true)
{
// do some error stuff here, like set headers, and some text to tell your visitor
}
}
ahora solo llame a su función:
error_404($error_404);
Lo mejor es hacerlo inmediatamente después del manejador get:
error_404($error_404)
$error_404 = isset($_GET["404"]) ? true : false;
o combine los dos en una sola línea:
error_404($error_404 = isset($_GET["404"]) ? true : false);
para abordar la pregunta, agréguela al guión relevante:
$pocategorys_ar = array("php","javascript");
if (!in_array($pocategory, $pocategorys_ar))
{
error_404(true);
}
Asegúrese de que tenga acceso a la función error_404 ().
Ok, estoy usando PHP tradicional, sin frameworks, nada, estoy usando un procedimiento simple, ahora mi pregunta es que estuve buscando por un tiempo pero no recibo una respuesta a mi pregunta, no estoy usando archivos .htaccess a partir de ahora, pero realmente necesito entender cómo funciona el error 404 Estoy teniendo un sitio web, donde muestro las publicaciones relacionadas con la categoría, digamos category = php, por lo que paso esto como una solicitud de obtención
$_GET[''category''] == ''php'';
Ahora, actualmente, lo que estoy haciendo es algo como esto:
$pocategory = $_GET[''category''];
if($pocategory == ''php'' || $pocategory == ''javascript'') {
//Then show related posts
} else {
header(''Location:404.php'');
exit;
}
Quiero decir que solo quiero php y javascript como valor de solicitud válido, el resto quiero redireccionar a 404 pero no entiendo cómo hacerlo, así que lo hice de esta manera, ¿qué pasa si tengo más de 50 categorías? No puedo enumerarlos todos en esta condición if, Indique cómo detectar si el valor de solicitud de obtención dado no es válido o no.
Cualquier ayuda será muy apreciada.
Podrías poner todas las categorías dentro de una matriz como esta:
$pocategories = array
(
''php'',
''javascript''
);
if (in_array($pocategory, $pages))
{
// ...
}
else
{
header(''Location:404.php'');
}
Otra cosa que podrías hacer es crear un archivo html / php para cada categoría y hacerlo como tal
if (is_file(''sites/'' . $popcategory . ''.php'')
{
include(''sites/'' . $popcategory . ''.php'');
}
else
{
header(''Location:404.php'');
}