Wordpress на Nginx+php-fpm отдает 200 на несуществующие URL

12 3
U
На сайте с 20.06.2011
Offline
61
1584

Добрый день, уважаемые.

Появилась небольшая проблемка в виде бесконечно большого количества несуществующих страниц-УРЛов, отдающих код 200 и отображающих главную страницу на вордпрессе. Например, урл "/wp-content/uploads/2015/07/test-572x410.jpg/" и огромное количество его вариаций отдает главную страницу.

Сам я недавно перешел со связки "nginx+apache" на nginx-fpm и в последнем несильно разбираюсь. Надеюсь, есть тут знатоки, которые подскажут куда копать (сам я думаю, что виноват кривой конфиг nginx).

Конфиг:

server {


server_name test.ru;

root /var/www/test;
index index.html index.php;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;

# With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
# With php-cgi (or other tcp sockets):
#fastcgi_pass 127.0.0.1:9000;
# intercept errors for 404 redirect
fastcgi_intercept_errors on;
}

client_max_body_size 32m;

listen [::]:443 ssl; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/test.ru/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/test.ru/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

server {
if ($host = test.ru) {
return 301 https://$host$request_uri;
} # managed by Certbot


listen 80 default_server;
listen [::]:80 default_server;

server_name test.ru;
return 404; # managed by Certbot
}

Думаю, решение где-то в строках location ~ \.php$, поскольку в сети встречал совершенно разнообразные вариации, например:

location ~ \.php$ {

fastcgi_split_path_info ^(/wordpress)(/.*)$;
}
suffix
На сайте с 26.08.2010
Offline
325
#1
ustus:
я недавно перешел со связки "nginx+apache" на nginx-fpm и в последнем несильно разбираюсь.

И зачем Вы это сделали ? Особенно если несильно разбираетесь ? Начитались баек что связка nginx-fpm лучше чем nginx+apache ?

Так вот лучше она только тем что на слабых конфигурациях железа потребляет меньше оперативки которая может быть использована под файловый кеш например. И если загруженность была под завязку то да такой переход может "ускорить" сайт.

Но если нормальное железо и с нехваткой памяти проблем нет то такой переход видимых плюшек не даст.

Клуб любителей хрюш (https://www.babai.ru)
U
На сайте с 20.06.2011
Offline
61
#2
suffix:
И зачем Вы это сделали ? Особенно если несильно разбираетесь ? Начитались баек что связка nginx-fpm лучше чем nginx+apache ?

Так вот лучше она только тем что на слабых конфигурациях железа потребляет меньше оперативки которая может быть использована под файловый кеш например. И если загруженность была под завязку то да такой переход может "ускорить" сайт.

Но если нормальное железо и с нехваткой памяти проблем нет то такой переход видимых плюшек не даст.

какой умный оффтопер. Спасибо за ваше мнение, оно очень важно для меня.

D8
На сайте с 23.03.2007
Offline
150
#3

suffix, Что плохого в том, что человек хочет научиться

lonelywoolf
На сайте с 23.12.2013
Offline
151
#4

ustus, На самом деле, он прав. По факту же - у вас реврайт всех не существующих страниц на сущестующую index.php

try_files $uri $uri/ /index.php?$args;

Отдавайте ошибку 404 вордпрессом.

Платный и бесплатный хостинг с защитой от DDoS (http://aquinas.su)
U
На сайте с 20.06.2011
Offline
61
#5

lonelywoolf, Кто прав? Местный князек-оффтопер-флудер suffix?

404 ошибка отдается вордпрессом, только не все несуществующие УРЛы отдают 404 - в том то и проблема.

lonelywoolf
На сайте с 23.12.2013
Offline
151
#6

	location / {
try_files $uri $uri/ /index.php?$args;
location ~ [^/]\.ph(p\d*|tml)$ {
try_files /does_not_exists @php;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
expires 30d;
}

}

location @php {
fastcgi_index index.php;
fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f support@example.com";
fastcgi_pass unix:/var/www/php-fpm/cgi.sock;
fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
try_files $uri =404;
include fastcgi_params;
}

Переписал. На самом деле, в гугле это всё есть. Берите конфиг и закроем тему.

ustus:
404 ошибка отдается вордпрессом, только не все несуществующие УРЛы отдают 404 - в том то и проблема.

Я вам указал на ошибку.

---------- Добавлено 08.08.2019 в 15:08 ----------

Denzel82, Плохого то, что этот человек не хочет научиться, а просит "сделать за него". Ему и правда, в платный раздел.

U
На сайте с 20.06.2011
Offline
61
#7

lonelywoolf,

Плохого то, что этот человек не хочет научиться, а просит "сделать за него". Ему и правда, в платный раздел.

Никто не заставлял "делать за него". Если вам обидно за своего кореша - местного князька, то можно было и проигнорировать мое сообщение, тем более, что вашего от "решения" так же толку ноль....

Я смотрю, этот форум так же окуклился и стал "самодостаточным"... т.е. местные князьки, связанные порукой тупо решают, кто достоин их ответа, а кто нет и совершенно не стесняются в выражениях.... Ну так отправили бы меня в платный отдел - какие проблемы?

Загнивание ресурса очевидно, верной дорогой идете, "товарищи"!

U
На сайте с 20.06.2011
Offline
61
#8

Хаххаахах, местные князки сговорились и обрушили мне "репутацию"!😂

jpg 1.jpg
Z0G SYSTEM
На сайте с 08.12.2009
Offline
126
#9

Я вот тоже минуснул данному товарищу, спрашивает совета в итоге всех оскорбляет и посылает в долгое плавание. Смысл спорить с тем кто тебе даёт совет? Или ты тему эту создал специально для этого, тебе люди дело написали, а ты ешё баллоны катишь. Это не форум загнивает, а его отдельные участники которые за языком своим не следят! По честному тебе вообще никто тут ничем не обязан...

U
На сайте с 20.06.2011
Offline
61
#10
knowing2business:
Я вот тоже минуснул данному товарищу, спрашивает совета в итоге всех оскорбляет и посылает в долгое плавание. Смысл спорить с тем кто тебе даёт совет? Или ты тему эту создал специально для этого, тебе люди дело написали, а ты ешё баллоны катишь. Это не форум загнивает, а его отдельные участники которые за языком своим не следят!

Еще один князек с высокой "репутацией"...

Почитай первый ответ на мое сообщение. Там кроме флуда и оффтопа ничего нет... Где я кого оскорбил? Кроме колкостей и "острот" suffixа там ничего нету.

"в итоге всех оскорбляет и посылает в долгое плавани" - это так на публику играешь?

"участники которые за языком своим не следят!" - где я за языком не следил, мальчик?

И эти люди жалуюся на сговор местных губернаторов, прокуроров и ментов... Да вы и есть такие же местечковые князья, которые по сговору и наркоту подбросят и дело сфабрикуют... И нехай жаловаться на власть, если в зеркало посмотреть лень...

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий