Nginx: как переписать подкаталог URL в параметр запроса?

Я пытаюсь переписать URL-адрес на веб-сайте WordPress под управлением Nginx, чтобы последний подкаталог был преобразован в GET-параметр:

Http: // MYDOMAIN / недвижимость / помощь / 1234 / в HTTP: // MYDOMAIN / недвижимость / помощь = 1234 /

Я пробовал с add_rewrite_rule в WordPress, но это не сработало, так как не создавало новый $_GET запись.

Затем я попробовал следующее правило Nginx:

rewrite ^(/property/.*)/aid/(.*)$ /$1/?aid=$2 break;

который, кажется, не имеет никакого эффекта вообще.

Какие-либо предложения?

2

Решение

Предположим, что корень документа /www/yourproject/public, Тогда конфигурация для PHP-FPM может выглядеть следующим образом:

rewrite "^/property/aid/([0-9]+)$" /property/?aid=$1 break;

location /property/ {
root            /www/yourproject/public;
fastcgi_pass    unix:/tmp/php-fpm-yourproject.sock;
fastcgi_index   index.php;
include         fastcgi_params;
}

В этой конфигурации запросы обрабатываются /www/yourproject/public/property/index.php,

Образец index.php

<?php
var_dump($_GET);

Пример вывода для /property/aid/1234

array(1) {
["aid"]=>
string(4) "1234"}

Вы можете заменить fastcgi_pass а также fastcgi_index директивы с proxy_pass, например.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]