After I run my application using Djangos built-in server, everything works ok. However when I attempt to operate via Apache and WSGI the URL is no more recognized however the it is incorporated in the web addresses.py file.

The mistake page I recieve is:

Page not found (404)
Request Method: GET
Request URL:    http://localhost/project/app/live/
Using the URLconf defined in project.urls, Django tried these URL patterns, in this order:
    ^media/(?P<path>.*)$
    ^app/live/
The current URL, app/live/, didn't match any of these.
You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.

As you can tell, the URL (application/live/) is appropriate there within the URL designs in the top-level web addresses.py file. You will find also no errors within the Apache errors.log file.

My web addresses.py:

from django.conf.urls.defaults import *
from django.conf import settings

urlpatterns = patterns('',
                       (r'^media/(?P<path>.*)$', 'django.views.static.serve', 
                        { 'document_root': settings.MEDIA_ROOT }),
                       (r'^app/live/', include('project.app.urls', app_name='live')),
                       )

My WSGI file:

import os
import sys

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../..')

os.environ["DJANGO_SETTINGS_MODULE"] = "project.settings"

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

And lastly my Apache configuration:

WSGIDaemonProcess   project processes=2 maximum-requests=500 threads=1
WSGIProcessGroup    project
WSGIScriptReloading On

WSGIScriptAlias /project /home/user/project/apache/project.wsgi

EDIT:

After investing in some debugging output in RegexURLResolver, I saw it attempts to resolve both app/live/ and project/app/live/.

And So I transformed my web addresses.py file for this:

from django.conf.urls.defaults import *
from django.conf import settings

urlpatterns = patterns('',
                       (r'^app/live/', include('project.app.urls', app_name='live')),
                       (r'^project/app/live/', include('project.app.urls', app_name='live')),
                       )

Works now.

Add the trailing slash for your URL path prefix inside your Apache configuration:

WSGIScriptAlias /project/ /home/user/project/apache/project.wsgi

Solution 1, edit your apache configs:

WSGIScriptAlias / /home/user/project/apache/project.wsgi

Solution 2, edit your web addresses.py:

from django.conf.urls.defaults import *
from django.conf import settings

urlpatterns = patterns('',
                   (r'^/project/media/(?P<path>.*)$', 'django.views.static.serve', 
                    { 'document_root': settings.MEDIA_ROOT }),
                   (r'^/project/app/live/', include('project.app.urls', app_name='live')),
                   )

Also, you most likely don't want for everyone your static content through django if you work with apache:

Alias /media /path/to/media/root
<Location /media>
SetHandel None
</Location>

Getting rid of the trailing slash on WSGIScriptAlias /django labored for me personally