Сервер Apache, унаследованный от моего предшественника, не отправляет электронные письма. Когда веб-приложение, размещенное на сервере, должно отправить электронное письмо, мое правило перезаписи ...
У меня не работает ссылка в моем блоге 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
дублируются из вашего блока ~ \ .php $
, чтобы нормально выполнить скрипт download.php
со значениями из id
кроме 1
.