Первоначально я пытался сделать сложное переписывание URL, которое я не мог заставить работать, поэтому сократил его до простого перенаправления URL, которое определенно должно работать, вместо этого он выдает 404.
Запросы для [any_scheme]: //www.mydomain.com/google следует перенаправить на https://www.google.com/
nginx.conf
(не публикуется, поскольку не содержит серверных блоков, поэтому не может конфликтовать?)
mydomain.com.conf:
server {
server_name www.mydomain.com;
root /home/mydomain/public_html;
index index.php index.html index.htm;
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /home/mydomain/ssl.combined;
ssl_certificate_key /home/mydomain/ssl.key;
access_log /var/log/virtualmin/mydomain.com_access_log;
error_log /var/log/virtualmin/mydomain.com_error_log;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location = /google {
return 302 https://www.google.com/;
}
#rogue .htaccess files caught here
location ~ /\.ht {
deny all;
}
}
#force non-www. to www.
server {
server_name mydomain.com;
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
return 301 $scheme://www.mydomain.com$request_uri;
}