2009-10-08 2 views
0

나는이처럼 보이는 httpd.conf 파일이 있습니다httpd.conf를 .htaccess로 마이그레이션 하시겠습니까?

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 프로젝트를 위해 잘 작동을하지만 다른 사이트에 문제가 발생하기 시작합니다. 문제를 일으키지 않도록 tech_eval 폴더에있는 .htaccess 파일로이 모든 자료를 이동하는 것이 적절하다고 생각합니다. 비록이 모든 옵션이 .htaccess에서 실행될 때 작동 할 것이라고 생각하지 않습니까? 내 옵션에는 무엇이 있습니까? 제 말은 모든 것을 접두사로 붙이면 tech_eval이 될 수 있지만 모든 사이트에 대해 하나의 커다란 마스터 파일을 작성하면 커다란 혼란이 될 것입니다.

+0

'.htaccess' 버전의 라인을 요청하고 있습니까? – random

+0

가상 호스트 사용을 고려 했습니까? – blak3r

+0

@ e.c.ho : 이것이 최선의 접근이라면 나는 생각한다. 나는'Aliases'의 일부는'RewriteRules'로 처리 할 수 ​​있다고 생각하지만'WSGIScriptAlias'를 어떻게 처리해야할지 모르겠습니다. @ blak3r : 응? 나는 평생 공유 서버에서 일해 왔고, 마침내 이것에 대한 통제권을 얻었다. 나는 그것이 * VPS *로 분류 될 것이라고 생각하지만 모든 것이 나에게 새롭다. 당신은 그것을 설명해야 할 것이다. – mpen

답변

1

해결하려는 문제가 실제로 너무 명확하지 않습니다. 왜 당신은 처음부터 그 구성을 사용하고 있습니까? mod_wsgi 문서에서 각 비트가 무엇을하는지 이해하지 않고 복사 한 것으로 보이며 설정에 적합하지 않을 때 사용하기 시작한 것 같습니다. 특히 mod_wsgi 문서의 예제는 일반적인 예제이며 반드시 장고에 적합하지는 않습니다.

알 수없는 목표를 달성하기 위해 구성을 수정하려고하는 것이 아니라 필요한 것을 설명하고 올바른 구성이 무엇인지 알려줄 것입니다.

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에서 그들을 얻을하지 않습니다 아래 내 댓글 당 UPDATE 1


, 아마도 다음 사용 사이트에 저장하고 직접 DocumentRoot 디렉토리에 직접 붙여두고 실제로 사이트 전체에 해당하는 것을 사용하십시오.

장고 설정 모듈에서 'ADMIN_MEDIA_PREFIX'라고 생각하면 '/ tech_eval/media /'로 변경해야합니다.

Django는 CSS 별칭을 필요로하지 않는다고 생각합니다. 이것이 장황한 Django에 대한 올바른 개념이 아닌 일반적인 개념을 보여주는 일반적인 예였습니다.

어쨌든 모든 것이 '/ tech_eval'에 속하므로 동일한 사이트의 다른 응용 프로그램을 간섭해서는 안됩니다.

+0

나는 mod_wsgi 문서에서 그것을 복사하지 않았다, 나는 장고 혀에서 그것을 복사하고 정확히 무엇을하는지 알고있다. 나는'tech_eval'이라는 프로젝트를 가지고있다. 해당 구성은 해당 프로젝트에만 해당됩니다. 어떻게 든 그 구성을 캡슐화하여 다른 프로젝트에 영향을 미치지 않도록하고 싶습니다. (왜냐하면'httpd.conf'는 어떤면에서 "글로벌"이기 때문입니다). 나는 이것이 실제 프로젝트 폴더 안에 가장 적절하게 배치 될 것이라고 생각하지만, 나는 다른 솔루션에 대해서 열려있다. – mpen

+0

안내서에서 'http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines#Hosting_Of_Static_Files'에서 복사했습니다. 저의 관심사는 구성이 하위 URL에있는 무언가를 위해 사이트 루트에 물건을 밀어 넣고 있다는 것입니다. 네, 원래 예제가하고 있던 것이지만, 정말로 원했습니까? 특정 하위 URL 사이트에서 favicon.ico 및 robots.txt를 얻으려면 어떻게해야합니까? CSS 파일을 루트로 푸시 (푸시) 하시겠습니까? Alias ​​/ AliasMatch가 WSGIScriptAlias보다 우선하므로 LHS 앞에 '/ tech_eval'을 붙일 수 있습니다. 그냥 미디어 URL 루트에 대한 장고 설정을 변경하십시오. –

1

VirtualHosts를 사용하여이 줄의 범위를 제한하고 가상 호스트 당 include를 사용하여 구성 파일을 구성하고 확장 성을 높이십시오.

+0

어 ... 그 일은 잘 되니? 이 ''지시문을보고 있는데 ... 여러 개의 IP 주소가 필요합니까 ...? 나는 이것에 관해서 완전한 n00b이다. 나는 최근에'phppgadmin'을 설치했고'/ etc/apache2/conf.d'에'Alias'가 설정되어있는 것처럼 보입니다. 각 사이트마다 이와 같은 파일을 가질 수 없었습니까? 그 사람들은 자동으로로드됩니까 ?? – mpen

+0

아쉽게도 아파치 설정 파일의 구성 방식은 배포판에 따라 크게 다릅니다. 때로는 너트를 짓기에 충분합니다.httpd.conf 파일에 Include 줄을 찾으십시오. 아마도 맨 아래에 있습니다. 경로가 디렉토리이면 해당 디렉토리의 모든 파일을 포함합니다. –

+0

이름 기반 가상 호스트에는 별도의 IP 주소가 필요하지 않습니다. (http://httpd.apache.org/docs/1.3/vhosts/name-based.html) 별도의 도메인 이름 (또는 적어도 하위 도메인이 필요합니다. 이름) - "모든 사이트"와 같은 문구 때문에 내가 가지고 있다고 가정합니다. –

관련 문제