Всем привет!
Не могу понять как сделать чтобы при заходе по site.ru/index.php выдавало 404 ошибку. Если набрать site.ru/123.php тоже не идет на страницу с 404.
Вопрос, как сделать чтобы site.ru/*.php выдавало 404 страничку?
вот конфиг
server {
server_name site.ru www.site.ru;
#Убрать / на конце страницы
location ~ .+/$ {
rewrite (.+)/$ $1 permanent;
}
# Убрать /////// на конце страницы
if ($request_uri ~ "^[^?]*?//") {
rewrite "^" $scheme://$host$uri permanent;
}
## редирект с www
if ($host ~* ^www\.(.+)$) {
set $newhost $1;
rewrite ^ http://$newhost$request_uri permanent;
}
charset utf-8;
access_log /var/log/nginx/site.ru.access.log;
error_log /var/log/nginx/site.ru.error.log;
root /var/www/site.ru/public/;
index index.php index.html index.htm;
client_max_body_size 100m;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~* \.(css|js|gif|jpe?g|png|jpg)$ {
expires 7d;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /404.html;
error_page 500 /500.html;
location = /500.html {
root /var/www/site.ru/public/;
internal;
}
location ~* ^/.+\.php {
root /var/www/site.ru/public;
try_files $uri /index.php =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /var/www/site.ru/public$fastcgi_script_name;
fastcgi_pass_header Cookie;
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
fastcgi_cache_key "$server_addr:$server_port$request_uri|$cookie_phpsessid";
fastcgi_cache fastcgi_cache;
fastcgi_temp_path /tmp/nginx/temp 1 2;
fastcgi_cache_use_stale updating error timeout invalid_header http_500;
fastcgi_cache_valid 15s;
# fastcgi_cache_valid any 10s;
}
}