karbiko escribió: 14 Abr 2020, 21:24Lo que no me ha quedado claro es lo de redirigir los 50x a una página estática...
¿Cómo lo haría?
Con una página HTML básica, por ejemplo ésta es la que uso para poner en modo mantenimiento a mis clientes:
503.html
Código: Seleccionar todo
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Servicio temporalmente no disponible - HTTP 503</title>
<meta name="robots" content="none" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css" />
<link rel="stylesheet" href="https://gistcdn.githack.com/AlfredoRamos/7373ba3506e10358bb84648af9a808b0/raw/975ab5028fa2fddfe548bc9d361a5e3ea794445c/grids.min.css" />
<link rel="stylesheet" href="https://gistcdn.githack.com/AlfredoRamos/d5c21255bfe769fa5bc187c960222112/raw/4015f3e6167e948e235a65c78ee64e75a0775e13/503.css" />
</head>
<body>
<div class="container">
<div class="row center-xs">
<section id="content" class="col-md-8">
<header class="header">
<h1 class="title">503</h1>
</header>
<article class="post">
<header class="header">
<h2 class="title">Servicio temporalmente no disponible</h2>
</header>
<div class="body">
<p>Este sitio actualmente se encuentra en mantenimiento. Por favor intente más tarde.<p>
</div>
</article>
</section>
</div>
</div>
</body>
</html>
Y en el .htaccess
, entre otras cosas, especifico esa página de error:
karbiko escribió: 14 Abr 2020, 21:24Creo entender que el método ese que aparece en la guía antigua lo que hace es precisamente redireccionar a una página estática cuando encuentra un error 403 o 404.. ¿Podría seguir ese método, teniendo unas páginas estáticas para cada tipo de error?
Claro, de hecho es así como se hace de forma predeterminada, usando archivos HTML.
karbiko escribió: 14 Abr 2020, 21:24Y de ser así, como tengo mi foro en la carpeta ./foro, y tanto en la raíz ./ como en ./foro tengo sendos archivos .htaccess, ¿en cuál de ellos integraría el código para el caso de que se encontrase un error?
Buena pregunta.
Algunas de las directivas que especifiques en un archivo .htaccess
se heredarán en los archivos .htaccess
subsecuentes presentes en subdirectorios, a menos que sobreescribas lo que sea que quieras o no quieras que hagan los archivos subsecuentes.
Por comodidad podrías crear esas páginas estáticas, así como las directivas ErrorDocument
en la raíz ./
, y deberían funcionar también en tu foro (./foro
).
Si quieres remplazar la página (con otro estilo por ejemplo) únicamente en tu foro, tendrías que colocar los archivos HTML y las directivas ErrorDocument
en el .htaccess
de tu foro ./foro
pero con la ruta correcta, por ejemplo:
Nótese que comienza con /foro
la ruta al archivo 403.html
, porque debe ser una ruta absoluta. Si colocaras únicamente /403.html
buscaría ese archivo en la raíz (./
) en lugar de en tu foro (./foro
).
karbiko escribió: 14 Abr 2020, 21:24Ésto último, ¿dónde lo pone? Porque veo que el el primer texto, ha cerrado el código php: ?>
Si le das scroll al texto, ya lo incluye, simplemente te indica que línea debes modificar, aunque podrías remplazar esa línea con:
Código: Seleccionar todo
$language = $phpbb_container->get('language');
page_header($language->lang('PAGE_NOT_FOUND'));
Para que tome ese texto de las traducciones.
Los caracteres ?>
al final de los archivos PHP ya no son recomendados, los puedes eliminar.
Creo que a esa guía le vendría bien una actualización.