error 404
This commit is contained in:
@@ -40,3 +40,16 @@ RewriteRule ^(.+?)/?$ $1.php [L]
|
|||||||
RewriteCond %{REQUEST_FILENAME} !-d
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
RewriteCond %{REQUEST_FILENAME}/index.php -f
|
RewriteCond %{REQUEST_FILENAME}/index.php -f
|
||||||
RewriteRule ^(.+?)/?$ $1/index.php [L]
|
RewriteRule ^(.+?)/?$ $1/index.php [L]
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
# 6) Globaler 404-Fallback
|
||||||
|
# Alles was jetzt noch übrig bleibt → 404-Seite
|
||||||
|
###############################################
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
|
|
||||||
|
# systempfade nicht abfangen
|
||||||
|
RewriteCond %{REQUEST_URI} !^/(assets|uploads|auth|landingpage|_errors)/ [NC]
|
||||||
|
|
||||||
|
# interne Weiterleitung auf deine Fehlerseite
|
||||||
|
RewriteRule ^ _errors/404.php [L]
|
||||||
|
|||||||
6
public/_errors/.htaccess
Normal file
6
public/_errors/.htaccess
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
RewriteEngine On
|
||||||
|
|
||||||
|
# nur PHP in _errors vor direktem Aufruf schützen
|
||||||
|
RewriteCond %{THE_REQUEST} \s/+_errors/ [NC]
|
||||||
|
RewriteCond %{REQUEST_URI} \.php$ [NC]
|
||||||
|
RewriteRule ^ - [R=404,L]
|
||||||
40
public/_errors/404.php
Normal file
40
public/_errors/404.php
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
// public/_errors/404.php
|
||||||
|
|
||||||
|
require __DIR__ . '/../../config/fileload.php';
|
||||||
|
|
||||||
|
// Sprache aus Query oder Default
|
||||||
|
$lang = $_GET['lang'] ?? 'de';
|
||||||
|
$lang = in_array($lang, ['de','en','it','fr']) ? $lang : 'de';
|
||||||
|
|
||||||
|
// Titel und Navigation für das Layout
|
||||||
|
$pageTitle = 'Seite nicht gefunden – usbcheck.it';
|
||||||
|
$pageDescription = 'Die angeforderte Seite wurde nicht gefunden.';
|
||||||
|
$navAnchors = []; // keine Anker auf der 404
|
||||||
|
|
||||||
|
tpl('layout_start', 'structure');
|
||||||
|
?>
|
||||||
|
<section class="mx-auto max-w-3xl text-center py-20 px-6">
|
||||||
|
<div class="flex flex-col items-center gap-6">
|
||||||
|
<!-- 404 Bild -->
|
||||||
|
<img
|
||||||
|
src="/_errors/img/404.png"
|
||||||
|
alt="Seite nicht gefunden"
|
||||||
|
class="w-40 h-40 sm:w-56 sm:h-56 object-contain opacity-90"
|
||||||
|
loading="lazy"
|
||||||
|
>
|
||||||
|
|
||||||
|
<h1 class="text-5xl font-heading font-bold text-brand-primary mb-2">
|
||||||
|
404
|
||||||
|
</h1>
|
||||||
|
<p class="text-brand-muted text-lg mb-6">
|
||||||
|
Die angeforderte Seite wurde nicht gefunden.
|
||||||
|
</p>
|
||||||
|
<a href="/?lang=<?= htmlspecialchars($lang) ?>"
|
||||||
|
class="inline-block rounded-full bg-brand-primary text-brand-bg px-6 py-3 text-sm font-semibold hover:bg-blue-400 transition-colors">
|
||||||
|
Zurück zur Startseite
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<?php
|
||||||
|
tpl('layout_end', 'structure');
|
||||||
BIN
public/_errors/img/404.png
Normal file
BIN
public/_errors/img/404.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.6 MiB |
Reference in New Issue
Block a user