Django通过一些网址来基础apache

时间:2014-01-05 04:14:24

标签: django apache

有没有办法让Django通过一些网址来解决它们的问题?

例如,如果我输入:http://< my-ip>。有没有办法让django只提供/var/www/html/index.html中的任何内容?

同样,如果我输入http://< my-ip> / devel,有没有办法让django只提供/ var / www / html / devel /中的内容?

基本上,我想要一些网址“不被触及”。

谢谢!

修改 根据Anentropic的评论,如果它与url不匹配,我希望Apache只调用Django 。我怎么需要更改httpd.conf才能这样做?假设我想让Django只回复 / polls /,/ admin /和/ accounts /.

以下是我的httpd conf文件中的相关部分:

<VirtualHost *:80>
#DocumentRoot /home/ec2-user/srv/mysite
DocumentRoot /var/www/html/
ServerName <My IP ADDRESS>
WSGIScriptAlias / /home/ec2-user/srv/mysite/apache/wsgi.py



# Alias /phpmyadmin /var/www/html/phpmyadmin
# <Location /phpmyadmin>
#     SetHandler None
# </Location>
<Directory /home/ec2-user/srv/mysite/media>
    Order deny,allow
    Allow from all
</Directory>

<Directory /home/ec2-user/srv/mysite/apache>
    Order deny,allow
    Allow from all
</Directory>

LogLevel warn

Alias /media/ /home/ec2-user/srv/mysite/media/

Alias /static/ /home/ec2-user/srv/mysite/static/

<Directory /home/ec2-user/srv/mysite/static>
Order deny,allow
Allow from all
</Directory>

</VirtualHost>

1 个答案:

答案 0 :(得分:0)

如果您想提供静态HTML页面,可以使用the flatpages app。 再次,如果你想使用不同的语言(PHP等),我相信你必须在你的apache配置文件中设置不同的虚拟主机,以便在它被提供给Django并将其重定向到正确的文件夹之前捕获该URL。即:

<VirtualHost *:80>
ServerName  staging.mydomain.com
DocumentRoot /var/www/html/mydomain.com/staging/
</VirtualHost>

<VirtualHost *:80>
ServerName  dev.mydomain.com
DocumentRoot /var/www/html/mydomain.com/dev/
</VirtualHost>

修改

<VirtualHost *:80>
#DocumentRoot /home/ec2-user/srv/mysite
DocumentRoot /var/www/html/
ServerName <My IP ADDRESS>

Alias /phpmyadmin /var/www/html/phpmyadmin
<Location /phpmyadmin>
     SetHandler None
</Location>
<Directory /home/ec2-user/srv/mysite/media>
Order deny,allow
Allow from all
</Directory>

<Directory /home/ec2-user/srv/mysite/apache>
Order deny,allow
Allow from all
</Directory>

LogLevel warn

WSGIScriptAlias /polls /home/ec2-user/srv/mysite/apache/wsgi.py
WSGIScriptAlias /admin /home/ec2-user/srv/mysite/apache/wsgi.py
WSGIScriptAlias /accounts /home/ec2-user/srv/mysite/apache/wsgi.py

Alias /media/ /home/ec2-user/srv/mysite/media/

Alias /static/ /home/ec2-user/srv/mysite/static/

<Directory /home/ec2-user/srv/mysite/static>
Order deny,allow
Allow from all
</Directory>

</VirtualHost>