以下は、関連する構成ファイルです。これもhttp://dpaste.com/97213/にあります。
'example.com/'にアクセスすると、ドキュメントルートに配置したindex.htmlファイルが表示されるため、apache構成は現在機能しています。
プレフィックス「/d」でDjango/appsを提供したいので、「example.com/d/」はデフォルトのアプリをロードし、「example.com/d/app3」はURLで構成されているように別のアプリをロードします。 py。
LinuxでDjangoにサービスを提供し、提案されたmod_wsgiを使用しています。
現在、「example.com/d」でチケットアプリにアクセスできますが、@ login_requiredデコレータがログインページに送ろうとすると、期待どおりではなく「example.com/accounts/login」に送信されます。 'example.com/d/accounts/login'。
デフォルトのアプリは正しく読み込まれるため、ここで何が間違っているのか、またはこれがURLを生成する際のDjangoのバグであるかどうかはわかりません。
助言がありますか?
編集: 注として、apache構成行を変更した場合:WSGIScriptAlias / d /home/blah/django_projects/Tickets/apache/django.wsgi to WSGIScriptAlias //home/blah/django_projects/Tickets/apache/django.wsgiアプリケーション、コメント、ログインはすべて正常に機能します。'example.com/admin'に移動しても管理者が読み込まれますが、管理メディアは壊れたままになっているため、スタイルシートは読み込まれません。
---構成は次のとおりです。
#
# /home/blah/django_projects/Ticket/urls.py
#
from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
(r'^', include('ticket.urls')),
(r'^admin/', include(admin.site.urls)),
(r'^comments/', include('django.contrib.comments.urls')),
)
#
# /home/blah/django_projects/Ticket/apache/django.wsgi
#
import os, sys
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..')
sys.path.append('/home/blah/django_projects')
sys.path.append('/home/blah/django_projects/Tickets')
os.environ['DJANGO_SETTINGS_MODULE'] = 'Tickets.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
#
# /etc/apache2/sites-available/django_tickets_wsgi (apache conf)
#
NameVirtualHost *
<VirtualHost *>
Alias /media /home/blah/django_projects/Tickets/media
WSGIScriptAlias /d /home/blah/django_projects/Tickets/apache/django.wsgi
WSGIDaemonProcess exmaple_com user=blah group=blah processes=1 threads=10
WSGIProcessGroup example_com
ServerAdmin localhost@example.com
ServerName example.com
DocumentRoot /var/www/
<Directory /var/www/>
Options -Indexes FollowSymLinks -MultiViews -Includes
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature Off
</VirtualHost>