- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Сайт на wordpress, последнее время много обращений типа
/wp-login2.php
/ep-config_old.php и т д
Как в обход wordpres на уровне nginx сделать 404? Сервер nginx +php-fpm
Предположу что вы ищите try_files
Предположу что ваш конфиг должен быть примерно таким
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri =404;
include fastcgi.conf;
fastcgi_intercept_errors on;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
Предположу что вы ищите try_files
Предположу что ваш конфиг должен быть примерно таким
Спасибо, но не работает.
Вот мой конфиг:
server {
listen 1.1.1.1:80;
server_name test.com.com www.test.com.com;
root /home/admin/web/test.com.com/public_html;
index index.php index.html index.htm;
access_log /var/log/nginx/domains/test.com.com.log combined;
access_log /var/log/nginx/domains/test.com.com.bytes bytes;
error_log /var/log/nginx/domains/test.com.com.error.log error;
# expires 1d;
# add_header Pragma "public";
#fastcgi_read_timeout 300;
#fastcgi_buffers 8 256k;
#fastcgi_buffer_size 128k;
#fastcgi_intercept_errors on;
#include fastcgi_params;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# location /xmlrpc.php {
# include /etc/nginx/conf.d/allowip.inc*;
# deny all;
# }
# location /wp-admin/ {
# try_files $uri $uri/ /index.php?$args;
# fastcgi_pass 127.0.0.1:9007;
# fastcgi_index index.php;
# include fastcgi_params;
# fastcgi_param SCRIPT_FILENAME $request_filename;
# location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
# expires max;
# }
# include /etc/nginx/conf.d/allowip.inc*;
# deny all;
#}
location /wp-login.php {
include /etc/nginx/conf.d/allowip.inc*;
deny all;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass 127.0.0.1:9007;
fastcgi_index wp-login.php;
include /etc/nginx/fastcgi_params;
}
location / {
include /etc/nginx/blockbyhostname.conf;
add_header X-Robots-Tag "index, follow";
try_files $uri $uri/ /index.php?$args;
rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.xml$ "/index.php?xml_sitemap=params=$2" last;
rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.xml\.gz$ "/index.php?xml_sitemap=params=$2;zip=true" last;
rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.html$ "/index.php?xml_sitemap=params=$2;html=true" last;
rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.html.gz$ "/index.php?xml_sitemap=params=$2;html=true;zip=true" last;
location ~ \.(js|css|png|jpg|jpeg|gif|ico|html|woff|woff2|ttf|svg|eot|otf)$ {
add_header "Access-Control-Allow-Origin" "*";
expires 1M;
access_log off;
add_header Cache-Control "public";
}
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
expires max;
}
location ~ [^/]\.php(/|$) {
# location ~ \wp-login.php$ {
# include /etc/nginx/conf.d/allowip.inc*;
# deny all;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
if ($allowed_country = no) {
return 444;
}
#if ($http_user_agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)"){
#if ($http_user_agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36"){
# return 403;
# }
#if ($http_user_agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36"){
# return 403;
# }
# Access deny for bots
# See bots list in the /etc/nginx/nginx.conf
if ($limit_bots = 1) {
return 444;
}
fastcgi_pass 127.0.0.1:9007;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}
#}
error_page 403 /error/404.html;
# error_page 404 /error/404.html;
error_page 404 @foobar;
location @foobar {
rewrite .* / permanent;
}
error_page 500 502 503 504 /error/50x.html;
location /error/ {
alias /home/admin/web/test.com.com/document_errors/;
}
location ~* "/\.(htaccess|htpasswd)$" {
deny all;
return 404;
}
location /vstats/ {
alias /home/admin/web/test.com.com/stats/;
include /home/admin/conf/web/test.com.com.auth*;
}
location /mega {
alias /home/admin/web/mega/;
location ~ ^/mega/(.*\.php)$ {
alias /home/admin/web/mega/$1;
fastcgi_pass 127.0.0.1:9007;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
location ~* ^/mega/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
alias /home/admin/web/mega/$1;
}
}
# include /etc/nginx/conf.d/mega.inc*;
include /etc/nginx/conf.d/phpmyadmin.inc*;
include /etc/nginx/conf.d/phppgadmin.inc*;
include /etc/nginx/conf.d/webmail.inc*;
include /home/admin/conf/web/nginx.test.com.com.conf*;
}
А цель какая конечная? Ну запрашивают несуществующий файл, получают 404 от WP. В чём смысл то? У вас WP перегружает сервер из-за 404 страницы? Может быть надо облегчить 404 страницу в WP и проблема уйдёт?
Ну обычная 404 страница будет только с текстом "Page not found"
А при обращении к wordpress, идёт поиск страницы, прогрузка всех плагинов. Излишняя нагрузка.
Таких обращений бывает в секунду по 100 штук, когда пытаются wordpress хакнуть.