diff --git a/roles/flyspray/files/migrated-tasks.map b/roles/flyspray/files/migrated-tasks.map
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/roles/flyspray/tasks/main.yml b/roles/flyspray/tasks/main.yml
index a41b59401b0599b2f743ce1cef55ed0ed852c1ec..de42365f7666b241705211c460e367980245abe2 100644
--- a/roles/flyspray/tasks/main.yml
+++ b/roles/flyspray/tasks/main.yml
@@ -32,6 +32,9 @@
   when: maintenance is not defined
   tags: ['nginx']
 
+- name: install nginx migrated-tasks.map
+  copy: src=migrated-tasks.map dest=/etc/nginx/maps/ owner=root group=root mode=0644
+
 - name: make nginx log dir
   file: path=/var/log/nginx/{{ flyspray_domain }} state=directory owner=root group=root mode=0755
 
diff --git a/roles/flyspray/templates/nginx.d.conf.j2 b/roles/flyspray/templates/nginx.d.conf.j2
index c3a0e5e4f3ec2061f9ef2e5ead7196be247d4dfe..a658ddcfd11e4d845f2b2a50f51f97c181a94357 100644
--- a/roles/flyspray/templates/nginx.d.conf.j2
+++ b/roles/flyspray/templates/nginx.d.conf.j2
@@ -19,6 +19,11 @@ server {
     }
 }
 
+map $uri $redirect {
+    default "";
+    include maps/migrated-tasks.map;
+}
+
 server {
     listen       443 ssl http2;
     listen       [::]:443 ssl http2;
@@ -51,6 +56,9 @@ server {
     }
 
     location ~ ^/task/(?<task_id>[0-9]+) {
+        if ($redirect != "") {
+            return 302 $redirect;
+        }
         rewrite ^/task/[0-9]+$ /index.php?do=details&task_id=$task_id last;
         rewrite ^/task/[0-9]+/comment(?<comment_id>[0-9]+)$ /index.php?do=details&task_id=$task_id&comment=$comment_id last;
         rewrite ^/task/[0-9]+/depends$ /index.php?do=depends&task_id=$task_id last;
diff --git a/roles/nginx/tasks/main.yml b/roles/nginx/tasks/main.yml
index 44302870162eb96fa70d8da877669d6925579b98..7e36c2ef1051afa9610ff1355245fa7ea0ea2f7c 100644
--- a/roles/nginx/tasks/main.yml
+++ b/roles/nginx/tasks/main.yml
@@ -34,6 +34,9 @@
 - name: create auth directory
   file: state=directory path=/etc/nginx/auth owner=root group=root mode=0755
 
+- name: create maps directory
+  file: state=directory path=/etc/nginx/maps owner=root group=root mode=0755
+
 - name: create default nginx log directory
   file: state=directory path=/var/log/nginx/default owner=root group=root mode=0755