Своя страница 404 Page Not Found

Вопросы без привязки к версии. Установлена авточистка (2 года).
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Leo Angel
phpBB 2.0.7a
Сообщения: 622
Стаж: 7 лет 3 месяца
Благодарил (а): 210 раз
Поблагодарили: 69 раз

Своя страница 404 Page Not Found

Сообщение Leo Angel »

Создал свою страницу 404 - error.html.
В конфигурационном файле nginx прописал

Код: Выделить всё

    # Custom 404 error handling
    error_page 404 /error.html;

    location @fallback {
        try_files $uri =404;
    }
Но теперь все ссылки вида https://домен/knowledgebase/xxxxxxx дают страницу error.html.
То есть все статьи в Библиотеке недоступны.
Можно ли как-то это исправить, оставив и сайт error.html, и чтобы Библиотека работала?

То есть или в конфигурационном файле nginx что-то ещё дописать или в Библиотеке подправить.
Не знаю, куда уже копать...
Где я что упустил или сделал неверно?
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5426
Стаж: 20 лет 3 месяца
Откуда: Питер
Благодарил (а): 177 раз
Поблагодарили: 749 раз

Re: Своя страница 404 Page Not Found

Сообщение Siava »

Leo Angel писал(а): 19.08.2024 17:01

Код: Выделить всё

location @fallback {
        try_files $uri =404;
    }
Навскидку.. переместите этот локейшн в самый низ, ближе к концу секции server { ... }

Но не видя всего конфига можно и дальше гадать.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Leo Angel
phpBB 2.0.7a
Сообщения: 622
Стаж: 7 лет 3 месяца
Благодарил (а): 210 раз
Поблагодарили: 69 раз

Re: Своя страница 404 Page Not Found

Сообщение Leo Angel »

Siava, перемещение не помогло.

Заметил, что все ссылки типа https://домен/ххххххх/xxxxxxx дают страницу error.html.
Как пример, https://домен/help/faq
И кстати, все ссылки без расширения также дают страницу error.html. Например, https://домен/rules переправляет на error.html.
В логах сервера пишет, что .../data/www/домен/help/faq" failed (2: No such file or directory)
То есть, понятно, что ищется файл в директории help, а её физически нет на сервере.
Наверное, всё же проблема в конфиге nginx и нужно вносить в него правки.
Знать бы какие... :?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

Re: Своя страница 404 Page Not Found

Сообщение rxu »

Leo Angel писал(а): 19.08.2024 22:58 Знать бы какие
Siava писал(а): 19.08.2024 17:33 не видя всего конфига можно и дальше гадать
Изображение
Аватара пользователя
Leo Angel
phpBB 2.0.7a
Сообщения: 622
Стаж: 7 лет 3 месяца
Благодарил (а): 210 раз
Поблагодарили: 69 раз

Re: Своя страница 404 Page Not Found

Сообщение Leo Angel »

Вот конфиг 

Код: Выделить всё

server {
    server_name домен www.домен;
    listen хх.хх.хх.ххх:443 ssl;

    ssl_certificate "/var/www/httpd-cert/домен_2024-08-14-06-58_20.crt";
    ssl_certificate_key "/var/www/httpd-cert/домен_2024-08-14-06-58_20.key";

    charset utf-8;

    gzip on;
    gzip_proxied expired no-cache no-store private auth;
    gzip_types text/css text/xml application/javascript text/plain application/json image/svg+xml image/x-icon;
    gzip_comp_level 5;

    set $root_path /var/www/ххх_ххххх_in_usr/data/www/домен;
    root $root_path;
    disable_symlinks if_not_owner from=$root_path;

    location / {
        try_files $uri $uri/ @rewriteapp;
    }

    location @rewriteapp {
        rewrite ^/app.php/(.*)$ /app.php/$1 last;
    }

    location ~ \.(php|html)$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/var/run/домен.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
        fastcgi_intercept_errors on;
    }

    location ~* \.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpeg|avi|zip|gz|bz2|rar|swf|ico|7z|doc|docx|map|ogg|otf|pdf|tff|tif|txt|wav|webp|woff|woff2|xls|xlsx|xml)$ {
        try_files $uri =404;
    }

    # Custom 404 error handling
    error_page 404 /error.html;

    location @fallback {
        try_files $uri =404;
    }


    include "/etc/nginx/fastpanel2-sites/ххх_хххх_in_usr/домен.includes";
    include /etc/nginx/fastpanel2-includes/*.conf;

    error_log /var/www/ххх_хххх_in_usr/data/logs/домен-frontend.error.log;
    access_log /var/www/ххх_хххх_in_usr/data/logs/домен-frontend.access.log;
}
Вместо реального домена вписал слово домен, адреса и т.п. инфу закрыл буквами х.
Может, вместе найдём решение...
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5426
Стаж: 20 лет 3 месяца
Откуда: Питер
Благодарил (а): 177 раз
Поблагодарили: 749 раз

Re: Своя страница 404 Page Not Found

Сообщение Siava »

Leo Angel, у вас форум в корне сайта? Если кроме форума там ничего нет, тогда попробуйте вот (это ваш же конфиг, только чуть правленный)
Скрытый текст

Код: Выделить всё

server {
	server_name домен www.домен;
	listen хх.хх.хх.ххх:443 ssl;
 
	ssl_certificate "/var/www/httpd-cert/домен_2024-08-14-06-58_20.crt";
	ssl_certificate_key "/var/www/httpd-cert/домен_2024-08-14-06-58_20.key";
 
	charset utf-8;
 
	gzip on;
	gzip_proxied expired no-cache no-store private auth;
	gzip_types text/css text/xml application/javascript text/plain application/json image/svg+xml image/x-icon;
	gzip_comp_level 5;
 
	set $root_path /var/www/ххх_ххххх_in_usr/data/www/домен;
	root $root_path;
	index index.php index.html index.htm;
	disable_symlinks if_not_owner from=$root_path;
 
	location / {
		try_files $uri $uri/ /app.php$is_args$args;
	}
	
	location /install {
		try_files $uri $uri/ @rewrite_installapp;
	}
 

	location ~ \.php$ {
		include /etc/nginx/fastcgi_params;
		fastcgi_pass unix:/var/run/домен.sock;
		fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
		fastcgi_param DOCUMENT_ROOT $realpath_root;
		fastcgi_intercept_errors on;
	}
	
	location @rewrite_installapp {
		rewrite ^/install/(.*)$ /install/app.php last;
	}
 
	location ~* \.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpeg|avi|zip|gz|bz2|rar|swf|ico|7z|doc|docx|map|ogg|otf|pdf|tff|tif|txt|wav|webp|woff|woff2|xls|xlsx|xml)$ {
		try_files $uri =404;
	}
 
	# Custom 404 error handling
	error_page 404 /error.html;
 
	location @fallback {
		try_files $uri =404;
	}
 
 
	include "/etc/nginx/fastpanel2-sites/ххх_хххх_in_usr/домен.includes";
	include /etc/nginx/fastpanel2-includes/*.conf;
 
	error_log /var/www/ххх_хххх_in_usr/data/logs/домен-frontend.error.log;
	access_log /var/www/ххх_хххх_in_usr/data/logs/домен-frontend.access.log;
}
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Leo Angel
phpBB 2.0.7a
Сообщения: 622
Стаж: 7 лет 3 месяца
Благодарил (а): 210 раз
Поблагодарили: 69 раз

Re: Своя страница 404 Page Not Found

Сообщение Leo Angel »

Siava, да!
Это ОНО! :)
Правда, внёс ещё пару правок и тогда всё заработало как нужно.
Страница 404 отрабатывает как должно, всё открывается как положено!
Спасибо ОГРОМНОЕ! :applause

Вернуться в «phpBB-пространство»