代码之家  ›  专栏  ›  技术社区  ›  mpen

将httpd.conf迁移到.htaccess?

  •  0
  • mpen  · 技术社区  · 16 年前

    我有一个 httpd.conf 文件如下:

    Alias /robots.txt /var/www/tech_eval/static/robots.txt
    Alias /favicon.ico /var/www/tech_eval/static/favicon.ico
    
    AliasMatch /([^/]*\.css) /var/www/tech_eval/static/styles/$1
    
    Alias /media/ /var/www/tech_eval/static/media/
    
    <Directory /var/www/tech_eval/static>
    Order deny,allow
    Allow from all
    </Directory>
    
    WSGIScriptAlias /tech_eval /var/www/tech_eval/scripts/django.wsgi
    
    <Directory /var/www/tech_eval/scripts>
    Order allow,deny
    Allow from all
    </Directory>
    

    这对我来说很好 tech_eval 项目,但它开始与其他网站产生问题。我觉得把这些东西搬到 .htaccess 文件位于 技术时代的 文件夹,以便它不会引起问题。不过,我不认为所有这些选项在从 HTAccess 他们会吗? 我有什么选择? 我的意思是,我可以通过在每件事之前 技术时代的 但是我最终会为我所有的网站提供一个大的主文件,这会变得一团糟。

    2 回复  |  直到 16 年前
        1
  •  1
  •   Graham Dumpleton    16 年前

    实际上,你试图解决的问题并不太清楚。为什么您一开始就使用这个配置?看起来您只是从mod wsgi文档中复制了它,而不了解每个位的作用,并且在它甚至不适合您的设置时开始使用它。具体来说,mod wsgi文档中的示例是一个通用示例,不一定适合django。

    因此,与其试图修复该配置以满足某个未知的目标,不如描述您需要什么,并告诉您应该使用什么样的正确配置。


    更新1

    根据我下面的评论,也许可以使用:

    AliasMatch /tech_eval/([^/]*\.css) /var/www/tech_eval/static/styles/$1
    
    Alias /tech_eval/media/ /var/www/tech_eval/static/media/
    
    <Directory /var/www/tech_eval/static>
    Order deny,allow
    Allow from all
    </Directory>
    
    WSGIScriptAlias /tech_eval /var/www/tech_eval/scripts/django.wsgi
    
    <Directory /var/www/tech_eval/scripts>
    Order allow,deny
    Allow from all
    </Directory>
    

    只需丢弃robots.txt和favicon.ico,或者至少不要从子URL站点获取它们,只需将它们直接粘贴到documentroot目录中,并使用真正适用于整个站点的目录。

    我认为这是Django设置模块中的“admin_media_prefix”,然后需要更改为“/tech_eval/media/”。

    对于Django,您甚至不需要使用CSS别名,这就是最初显示概念的通用示例,而不是适合Django的示例。

    不管怎么说,所有的东西都在“技术评估”之下,不应该干扰同一站点上的其他应用程序。

        2
  •  1
  •   Matt Miller    16 年前

    使用virtualhosts来限制这些行的范围,并且每个虚拟主机都有一个include来组织您的配置文件,并防止其变得越来越笨拙。

    推荐文章