这个问题在过去一周左右一直困扰着我,现在我要到了最后期限.我在Media Temple DV服务器上有一个站点,该服务器在webroot(servername.org)中运行Drupal.我正在添加一个django网站,我希望它位于url servername.org/myproject.我已经构建了项目(在不在webroot中的目录中)并且当我使用django dev服务器运行它时工作正常,但是我无法将apache配置为运行我的django站点.我按照本教程http://how.4cpus.com/installing-django-on-mt-media-temple-dv-35-server-with-mod_python/
按照那里的说明进行初始设置并配置vhost..conf.但是Drupal生成的.htaccess文件不断抓取我的url并返回404错误.
到目前为止我唯一的工作是,如果我在webroot中创建一个名为httpdocs/myproject的子目录,然后转到url servername.org/myproject它就可以了.但是一旦我尝试转到myproject的任何子文件夹(例如servername/myproject/login),我再次收到404错误.
这里有什么帮助?我知道它必须是一个简单的一行或两行apache配置的东西,但我无法弄清楚,我的想法已经用完了.
这是vhost.conf文件中的一个片段:
<Location "/myproject/">
SetHandler python-program
PythonPath "['/var/www/vhosts/servename.org/']+sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE myproject.settings
PythonInterpreter myproject
</Location>
Run Code Online (Sandbox Code Playgroud)
这里是webroot中的Drupal .htaccess文件(请注意我放在最近的reirte规则似乎没有做任何事情):
#
# Apache/PHP/Drupal settings:
#
# Protect files and directories from prying eyes.
<FilesMatch "\.(engine|inc|info|install|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl|svn-base)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template|all-wcprops|entries|format)$">
Order allow,deny
</FilesMatch>
# Don't show directory listings for URLs which map to a directory.
Options -Indexes
# Follow symbolic links in this directory.
Options +FollowSymLinks
# Make Drupal handle any 404 errors.
ErrorDocument 404 /index.php
# Force …Run Code Online (Sandbox Code Playgroud)