@MexaHu3aToP

Почему не существующие станицы отдают код 200?

Добрый день, такой конфиг:
server {
	listen 80;
	index index.php index.html index.htm;
	root /var/www/example.ru;
	
	server_name example.ru;

	location / {
        try_files $uri $uri/ /index.php;
    }
	
	location /search/ {
		rewrite ^/search/(.*)/*$ /index.php?do=search&q=$1;
	}
	
	location /get/ {
		rewrite ^/get/(.*)/*$ /index.php?do=get&id=$1;
	}

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}


Почему-то отдают не существующие страницы с кодом 200 и показывает содержимое главной страницы.
  • Вопрос задан
  • 109 просмотров
Решения вопроса 1
AlexMcArrow
@AlexMcArrow
Люблю РНР, да я такой!
У вас все запросы уходят на бэкэнд
location / {
        try_files $uri $uri/ /index.php;
}

Если файл не найден в $uri и $uri/ то далее работает инструкция /index.php - а она есть, вот и код 200
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы