404!
This commit is contained in:
parent
df2bfa1333
commit
bda833f6e3
32
404.php
Normal file
32
404.php
Normal file
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
require("classes.php");
|
||||
$grid = new Grid();
|
||||
$grid->generate();
|
||||
|
||||
header("HTTP/1.0 404 Not Found", true, 404);
|
||||
|
||||
$urlDir = $_SERVER["REQUEST_SCHEME"] . "://" . $_SERVER["HTTP_HOST"] . dirname($_SERVER["DOCUMENT_URI"]);
|
||||
$urlExample = $urlDir . "/" . $grid->toString();
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang='fr'>
|
||||
<head>
|
||||
<meta charset='utf-8' />
|
||||
<meta name='viewport' content='width=device-width' />
|
||||
<title>Sudoku non trouvé</title>
|
||||
<link rel='stylesheet' type='text/css' href='style.css' />
|
||||
<link rel="icon" type="image/png" href="favicon.png">
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<h1>#404</h1>
|
||||
</header>
|
||||
L'adresse URL doit être de la forme : <?=$urlDir?>/<em>grille</em>,<br/>
|
||||
<em>grille</em> étant une suite de 81 caractères représentant la grille de gauche à droite puis de haut en bas, soit :
|
||||
<ul>
|
||||
<li>un chiffre entre 1 et 9 pour les cases connues</li>
|
||||
<li>un point pour les case vides</li>
|
||||
</ul>
|
||||
Exemple : <a href='<?=$urlExample?>'><?=$urlExample?></a><br/>
|
||||
</body>
|
||||
</html>
|
@ -5,12 +5,12 @@ location /sudoku/ {
|
||||
rewrite ^ https://$server_name$request_uri? permanent;
|
||||
}
|
||||
|
||||
index gen-grid.php;
|
||||
index index.php;
|
||||
|
||||
try_files $uri $uri/ @add-php-extention;
|
||||
|
||||
location ~ [^/]\.php(/|$) {
|
||||
try_files $uri @sudoku-grid;
|
||||
try_files $uri =404;
|
||||
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||
fastcgi_pass unix:/var/run/php/php7.3-fpm-sudoku.sock;
|
||||
fastcgi_index gen-grid.php;
|
||||
@ -19,12 +19,17 @@ location /sudoku/ {
|
||||
fastcgi_param PATH_INFO $fastcgi_path_info;
|
||||
fastcgi_param SCRIPT_FILENAME $request_filename;
|
||||
}
|
||||
|
||||
error_page 404 /sudoku/404.php;
|
||||
location /sudoku/404.php {
|
||||
internal;
|
||||
}
|
||||
}
|
||||
|
||||
location ~ "^/sudoku/([1-9.]{81})$" {
|
||||
rewrite "^/sudoku/([1-9.]{81})$" /sudoku/sudoku.php?grid=$1 last;
|
||||
}
|
||||
|
||||
location @add-php-extention {
|
||||
rewrite ^([^?#]*)(\?.*)?(#.*)?$ $1.php$2$3 last;
|
||||
}
|
||||
|
||||
location @sudoku-grid {
|
||||
rewrite ^/sudoku/(.*).php$ /sudoku/sudoku.php?grid=$1 last;
|
||||
}
|
||||
|
39
sudoku.php
39
sudoku.php
@ -1,9 +1,7 @@
|
||||
<?php
|
||||
require("classes.php");
|
||||
const UNKNOWN = ".";
|
||||
|
||||
$gridStr = strip_tags($_GET['grid']);
|
||||
// URL contains grid
|
||||
if (preg_match("#^[1-9.]{81}$#", $gridStr)) {
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang='fr' prefix="og: https://ogp.me/ns#">
|
||||
@ -111,38 +109,3 @@
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
<?php
|
||||
} else {
|
||||
$grid = new Grid();
|
||||
$grid->generate();
|
||||
|
||||
header("HTTP/1.0 400 Bad Request", true, 400);
|
||||
|
||||
$urlDir = $_SERVER["REQUEST_SCHEME"] . "://" . $_SERVER["HTTP_HOST"] . dirname($_SERVER["DOCUMENT_URI"]);
|
||||
$urlExample = $urlDir . "/" . $grid->toString();
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang='fr'>
|
||||
<head>
|
||||
<meta charset='utf-8' />
|
||||
<meta name='viewport' content='width=device-width' />
|
||||
<title>Adresse incorrecte</title>
|
||||
<link rel='stylesheet' type='text/css' href='style.css' />
|
||||
<link rel="icon" type="image/png" href="favicon.png">
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<h1>Adresse incorrecte</h1>
|
||||
</header>
|
||||
L'adresse URL doit être de la forme : <?=$urlDir?>/<em>grille</em>,<br/>
|
||||
<em>grille</em> étant une suite de 81 caractères représentant la grille de gauche à droite puis de haut en bas, soit :
|
||||
<ul>
|
||||
<li>un chiffre entre 1 et 9 pour les cases connues</li>
|
||||
<li>un point pour les case vides</li>
|
||||
</ul>
|
||||
Exemple : <a href='<?=$urlExample?>'><?=$urlExample?></a><br/>
|
||||
</body>
|
||||
</html>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
Loading…
x
Reference in New Issue
Block a user