У меня не работает ссылка в моем блоге WP, который находится на этом маршруте
www.site.com/wp-content/plugins/download-monitor/download.php?id=1
Но когда я хочу перенаправить его на совершенно новый сайт, мое правило перезаписи не работает. Я использовал это
rewrite ^(/wp-content/plugins/download-monitor/download.php?id=1)(.*)$ http://link.com/my.pdf$2 permanent;
Из вашего комментария вы пробовали:
location = /wp-content/plugins/download-monitor/download.php?id=1 {
return 301 link.com/my.pdf;
}
Это не сработает, потому что location
Правило не может проверить компонент строки запроса URL-адреса.
В if
блок можно использовать для простых тестов, таких как проверка значения $arg_id
который установлен на значение id
параметр в строке запроса. Например:
location = /wp-content/plugins/download-monitor/download.php {
if ($arg_id = 1) {
return 301 link.com/my.pdf;
}
fastcgi_pass ...;
...
}
Обратите внимание, что location
блок выше будет обрабатывать любой URL, указывающий то же самое download.php
скрипт (то есть со значениями id
Кроме как 1
). В fastcgi
директивы дублированный от твоего location ~ \.php$
блок для выполнения download.php
скрипт обычно со значениями id
Кроме как 1
.