I'm running into a few issues trying to set up 301/302 redirects with Craft and nginx. The legacy site has /contact.php
paths which I would like to direct to /info/
but when I visit mysite.com/contact.php
it gives me the No input file specified.
error.
I tried setting this up with Retour plugin, and inside of nginx files, but they both return No input file
since there is no contact.php
on my server.
Below is my nginx file for reference:
server {
listen 80;
listen 443 ssl http2;
server_name mysite.com;
root "/home/vagrant/mysite/public";
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log off;
error_log /var/log/nginx/mysite.error.log error;
sendfile off;
client_max_body_size 100m;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
}
location ~ /\.ht {
deny all;
}
ssl_certificate /etc/nginx/ssl/mysite.crt;
ssl_certificate_key /etc/nginx/ssl/mysite.key;
}
I know Craft is doing some weird things here to avoid index.php
, not sure how it affects my situation though. In addition to mapping /contact.php
to /info/
, I would also like to make /gallery.php?c=category
to /?filter=category
Thanks for your help!