Wordpress NGINX Правила перезаписи Plesk + перезапись для определенной папки c - PullRequest
0 голосов
/ 16 апреля 2020

Я использую сервер Plesk с сайтами WordPress. Сайт работает нормально, используя Apache в качестве веб-сервера и Nginx в качестве прокси. Я хочу переключиться с PHP -FPM, обработанного Apache, на PHP -FPM, обработанного Nginx, поэтому Nginx будет веб-сервером для этого сайта.

Я сделал переключение и Я добавил это правило:

if (!-e $request_filename) {
    rewrite ^(.*)$ /index.php break;
}

Wordpress работает нормально. Есть также папка с именем serp с этим файлом .htaccess:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

Мне нужно преобразовать эти правила в nginx переписать правила, чтобы и wordpress, и скрипты внутри этой папки работали

В основном, URL, который не работает, таков:

https://mydomain.tld/serp/2?keyword=tyres&type=test-valerio&source=test-source

В то время как фактический URL будет таким:

https://mydomain.tld/serp/2.php?keyword=tyres&type=test-valerio&source=test-source

То, что я до сих пор тестировал:

location /serp {
  if (!-e $request_filename){
    rewrite ^(.*)$ /$1.php break;
  }
}

Так что в основном мне нужно переписать, поэтому вместо использования 2. php? в URL, чтобы использовать 2?

Я не могу заставить работать правило перезаписи. Любая помощь очень ценится!

1 Ответ

0 голосов
/ 16 апреля 2020

В итоге я придумал:

    location /serp {
            try_files $uri $uri/ @extensionless-php;
    }

    location /article {
            try_files $uri $uri/ @extensionless-php;
    }

    location @extensionless-php {
            rewrite ^(.*)$ $1.php last;
    }
...