I had similar problem, here's what I did to fix it. Works with Wagtail 1.13 + uwsgi + nginx/1.10.3 (Ubuntu).
in wagtail blog/settings/base.py:
ROOT_URL = '/blog'
USE_X_FORWARDED_HOST = True
FORCE_SCRIPT_NAME = ROOT_URL
BASE_PATH = ROOT_URL
APP_SUB_URL = ROOT_URL
if len(APP_SUB_URL):
FORCE_SCRIPT_NAME = APP_SUB_URL
STATIC_URL = APP_SUB_URL + "/static/"
MEDIA_URL = APP_SUB_URL + "/media/"
ADMIN_MEDIA_PREFIX = APP_SUB_URL + "/static/admin/"
LOGIN_URL = APP_SUB_URL + "/login/"
in nginx blog.conf file:
location /blog/ {
include uwsgi_params;
rewrite /blog/(.*) /$1 break;
uwsgi_pass unix:/run/uwsgi/application.sock;
}
also, you can have nginx handle the static files for better performance:
location /blog/static/ {
access_log off;
expires 3600;
alias /path/to/wagtail/app/blog/static/;
}
location /blog/media/ {
access_log off;
expires 864000;
alias /path/to/wagtail/app/media/;
}
I also had to add symlinks to the admin static files in /path/to/wagtail/app/blog/static/
cd /path/to/wagtail/app/blog/static/
ln -s ../../../venv/lib/python3.5/site-packages/wagtail/wagtailadmin/static/wagtailadmin/
ln -s ../../../venv/lib/python3.5/site-packages/wagtail/wagtaildocs/static/wagtaildocs/
ln -s ../../../venv/lib/python3.5/site-packages/wagtail/wagtailembeds/static/wagtailembeds/
ln -s ../../../venv/lib/python3.5/site-packages/wagtail/wagtailimages/static/wagtailimages/
ln -s ../../../venv/lib/python3.5/site-packages/wagtail/wagtailsnippets/static/wagtailsnippets/