Încerc să blochez execuția scriptului PHP în câteva foldere pentru o instalare WordPress, dar Nginx îmi dă greutăți.
locație = /wp/wp-includes/category.php {
nega totul;
}
Pot bloca scripturile individuale folosind potrivirea exactă, dar când folosesc regex, nu funcționează.
locație ~* /wp/wp-includes/.*\.php$ {
nega totul;
}
Nu sunt sigur ce fac greșit?
EDITAȚI | ×
Am următoarele reguli după regulile de mai sus:
Locație / {
error_page 418 = @cachemiss;
# Pentru a permite POST pe pagini statice. O să caute cu mine eroare
pagina_eroare 405 =200 $uri;
recursive_error_pages on;
# ocoliți memoria cache pentru șirurile de interogare comune
if ($arg_s != "") { return 418; } # interogare de căutare
if ($arg_p != "") { return 418; } # solicitați o postare/pagină după ID
if ($arg_amp != "") { return 418; } # test de amperi
if ($arg_preview = "adevărat") { return 418; } # previzualizare postare / pagină
dacă ($http_cookie ~* "(wordpress_logged_in_|wp\-postpass_|woocommerce_items_in_cart|woocommerce_cart_hash|wptouch_switch_toogle|comment_author_|comment_author_email_)") {
întoarcere 418;
}
# prin trecerea în cache pentru solicitările de postare
if ($request_method = POST ) {
întoarcere 418;
}
dacă (!-f "$fișier_rachetă") {
întoarcere 418;
}
etag on;
try_files "$rocket_url" $uri $uri/ /index.php$is_args$args;
}
locație @cachemiss {
try_files $uri $uri/ /index.php$is_args$args;
}