Я пытаюсь переписать URL-адрес на веб-сайте WordPress под управлением Nginx, чтобы последний подкаталог был преобразован в GET-параметр:
Http: // MYDOMAIN / недвижимость / помощь / 1234 / в HTTP: // MYDOMAIN / недвижимость / помощь = 1234 /
Я пробовал с add_rewrite_rule
в WordPress, но это не сработало, так как не создавало новый $_GET
запись.
Затем я попробовал следующее правило Nginx:
rewrite ^(/property/.*)/aid/(.*)$ /$1/?aid=$2 break;
который, кажется, не имеет никакого эффекта вообще.
Какие-либо предложения?
Предположим, что корень документа /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
, например.
Других решений пока нет …