Bonjour,
J'ai pris un hébergement chez 1&1 pour mon site et malheureusement tous ne fonctionne pas comme en local. Notamment aux niveaux de la redirection 404 si l'utilisateur va sur une page qui n'existe pas. Le navigateur charge puis finis par m'indiquer La page n'est pas redirigée correctement. Sachant que la réécriture d'url fonctionne bien.
Je rappel qu'en local tous marche bien, voilà mon .htaccess
Et voilà la manière dont je fais ma redirection sur le php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Options +FollowSymLinks RewriteEngine On RewriteBase / # Réécriture simple des pages principales RewriteRule services/([a-zA-Z0-9\-]+).html index.php?p=$1 RewriteRule contact/([a-zA-Z0-9\-]+).html contact.php?p=$1 RewriteRule enseignement/([a-zA-Z0-9\-]+).html secteur.php?p=$1 RewriteRule formation/([a-zA-Z0-9\-]+).html secteur.php?p=$1 RewriteRule formation/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+).html secteur.php?p=$1&r=$2 RewriteRule conseil/([a-zA-Z0-9\-]+).html secteur.php?p=$1 RewriteRule conseil/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+).html secteur.php?p=$1&r=$2 # Erreur prévu RewriteRule erreur/([0-9]+).html erreur.php?p=$1 # -------------- # Erreur général ErrorDocument 403 http://site.fr/erreur/403.html ErrorDocument 404 http://site.fr/erreur/404.html
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 <?php // Inclusion de RACINE_URL if(isset($_GET['p']) && !empty($_GET['p'])){ $p = htmlspecialchars($_GET['p']); // Pages autorisées $pages_autorisees = array('index' => array('Accueil', 'page/index.php'), 'page2' => array('page2', 'page/page2.php') // .... ); if(array_key_exists($p, $pages_autorisees)){ // Vérifications } else{ // Si la page n'est pas autorisée header('location:'.RACINE_URL.'erreur/404.html'); } } else header('location:'.RACINE_URL.'services/index.html');
Voilà, merci de votre aide smile
Partager