Post Name Постоянная ссылка дает 404 ошибки внутри подкаталога

Я установил свою первую учетную запись AWS EC2 и установил nginx. Корень – /usr/share/nginx/html . Я установил WordPress как подпапку под названием cooking под root. Адрес сайта: http://54.226.50.133/cooking .

Пока у меня есть постоянная ссылка как Plain, страницы подходят нормально, но когда я обновляю структуру permalink для использования Post Name, я получаю ошибку 404.

http://54.226.50.133/cooking/?p=1 – работает ОК. http://54.226.50.133/cooking/hello-world/ – дает 404

Расположение установки WordPress (приготовление пищи): /usr/share/nginx/html/cooking
Расположение файла .htaccess : /usr/share/nginx/html/cooking/.htaccess
Содержимое файла .htaccess :

 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress 

Я не уверен, но многозадачность может быть решением, но я не хочу идти так далеко прямо сейчас, но я хочу, чтобы это было просто в начале. В основном мне понадобится больше подпапок (разные установки WP для разных сайтов), подобные этому в папке usr/share/nginx/html для демонстрации.

Пожалуйста, предложите мне правильный путь для достижения этого.

ОБНОВИТЬ
У меня есть параметр Permalink, установленный в поле « Название» на данный момент, поэтому http://54.226.50.133/cooking/?p=1 даст 404 прямо сейчас, что хорошо. Но http://54.226.50.133/cooking/hello-world/ все еще заканчивается 404.

Скриншот
введите описание изображения здесь

Solutions Collecting From Web of "Post Name Постоянная ссылка дает 404 ошибки внутри подкаталога"

Это происходит потому, что Nginx не интерпретирует правила перезаписи, такие как Apache, через mod_rewrite. Вам нужно изменить свой конфигурационный файл nginx vhost (файл конфигурации nginx-сайта, то есть файл /etc/nginx/sites-enabled/your-site-config.conf)

Добавьте следующую строку внутри блока сервера

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

если location / уже присутствует, удалите существующую директиву try_files и замените ее следующей строкой

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

Теперь перезапустите или перезагрузите Nginx, и ваша проблема исчезнет. Вот хорошая ссылка на статью относительно этого https://www.cyberciti.biz/faq/how-to-configure-nginx-for-wordpress-permalinks/