Pour mieux expliquer mon problème:

à savoir que mon erreur 404 sans le rewrite fonctionne parfaitement.

Sauf que depuis la mise en place de mon rewrite ma page 404 n'est plus opérationnelle.

Avant si je tapais le lien de mon site comme ceci https:/monsite.com/admin ou comme ceci http:/monsite.com/admin/
J'avais bien ma page d'erreur.

Depuis le rewrite si je tape https:/monsite.com/admin ça me ramène à la page d'accueil

Mais si je tape https:/monsite.com/admin/ ça me charge mon ouverture, mon menu et mon copyright

Ce que j'aimerais, si les pages n'existe pas que dans tous les cas je tombe sur mon erreur 404

Voici ma conf défaut de mon site pour nginx;

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
36
37
38
39
40
41
42
 
 
upstream www {
    server unix:/var/run/php5-fpm.sock;
}
 
server {
	listen 80 default;
	server_name monsite.com;
 
	root /var/www/monsite.com/;
	index index.php;
 
	error_page 400 401 402 403 404 500 502 503 504 /error.html;
 
 
	location = /error.html {
    		root  /var/www/monsite.com/error/;
		index index.html;
  	}
 
	location / {
                try_files $uri $uri/ @rewrite;
		#return 404;
        }
 
        location @rewrite {
		rewrite ^/([\w-]+)-page-(\d+) /index.php?id=$1&page=$2 last;
		rewrite ^/([\w-]+)-(\d+) /index.php?id=$1&id_tutoriel=$2 last;
		rewrite ^/(.*) /index.php?id=$1 last;
        }
 
	location ~ \.php$ {
		fastcgi_intercept_errors on;
    		try_files $uri =404;
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		fastcgi_pass unix:/var/run/php5-fpm.sock;
		fastcgi_index index.php;
		include fastcgi_params;
	}
 
}
Je ne sais pas trop comment je dois faire pour lui dire que s'il ne trouve pas la page en rewrite qu'il doit basculer vers la page d'erreur 404.

Quand je décommente mon return 404; il me met sur tout le site une erreur 404.

Pouvez-vous m'aider?

Cordialement.

No-impact.