Я пытаюсь заблокировать выполнение PHP-скрипта в нескольких папках для установки WordPress, но Nginx доставляет мне неприятности.
местоположение = /wp/wp-includes/category.php {
отрицать все;
}
Я могу заблокировать отдельный скрипт, используя точное совпадение, но когда я использую регулярное выражение, это не работает.
расположение ~* /wp/wp-includes/.*\.php$ {
отрицать все;
}
Я не уверен, что я делаю неправильно?
РЕДАКТИРОВАТЬ
У меня есть следующие правила после вышеуказанных правил:
место расположения / {
error_page 418 = @cachemiss;
# Разрешить POST на статических страницах. Будет искать со мной ошибку
error_page 405 = 200 $uri;
recursive_error_pages включено;
# обход кеша для общих строк запроса
если ($arg_s != "") { return 418; } # поисковый запрос
если ($arg_p != "") { return 418; } # запросить пост/страницу по ID
если ($arg_amp != "") { return 418; } # тест усилителя
если ($arg_preview = "true") { return 418; } # предварительный просмотр поста/страницы
if ($http_cookie ~* "(wordpress_logged_in_|wp\-postpass_|woocommerce_items_in_cart|woocommerce_cart_hash|wptouch_switch_toogle|comment_author_|comment_author_email_)") {
вернуть 418;
}
# обход кэширования почтовых запросов
если ($ request_method = POST ) {
вернуть 418;
}
если (!-f "$rocket_file") {
вернуть 418;
}
пометка включена;
try_files "$rocket_url" $uri $uri/ /index.php$is_args$args;
}
местоположение @cachemiss {
try_files $uri $uri/ /index.php$is_args$args;
}