2009-03-03 13 views
5

이것은 내가 읽은 대부분의 반대 문제입니다. Apache 2.2.8을 사용하는 Amazon 인스턴스에서 Ubuntu 8.04를 실행하고 있는데 AllowOverride를 None으로 설정하면 내 .htaccess 파일이 포함되지 않습니다.왜 Apache에서 .htaccess를 비활성화 할 수 없습니까?

하위 디렉토리에 hello.py와 .htaccess 파일이 있습니다. 파일을 탐색 할 때 파일을 처리하는 modpython이 제대로 작동합니다. .htaccess에 쓰레기를 넣으면 서버 오류가 발생하므로 .htaccess 파일이 사용 중임을 알 수 있습니다. 또한 .htaccess 파일을 삭제해도 hello.py는 더 이상 modpython에 의해 서버가 아닙니다. 대신 브라우저가 파일을 열려고합니다.

내 사이트 중 하나 (사이트에서 사용 가능)에서 사용할 수있는 루트 디렉터리는 "AllowOverride None"입니다. 나는 이것이 .htaccess가 루트와 모든 하위 디렉토리에 포함되는 것을 막을 것이라고 생각했다. hello.py가 mod_python에 의해 제공되지 않도록해야한다. 그러나, 그것은 잘 제공 계속하고 내가 그것을 수정할 때 내 브라우저에서 결과를 볼 수 있기 때문에 .htaccess 포함되어 여전히 테스트 할 수 있습니다.

어쩌면 사이트에서 내 파일에 대해 이해하지 못하는 것이 있습니다. 사용중인 파일입니다.

NameVirtualHost *:8080 
<VirtualHost *:8080> 
<Directory /> 
AllowOverride None 
</Directory> 
</VirtualHost> 

감사합니다.

+0

AllowOverride는 .htaccess 파일을 읽지 못하도록해야하지만 구성에 mod_python (즉, AddHandler mod_python .py)과 관련된 내용은 없습니다. .htaccess 파일에 무엇이 있습니까? – Pesto

+0

.htaccess로 : AddHandler에 mod_python을 평 PythonHandler mptest PythonDebug 에와 mptest.py의 : mod_python을 가져 오기 아파치에서 데프 핸들러 (REQ) : req.log_error ('핸들러') req.content_type = '텍스트/plain ' req.send_http_header() req.write ("Hello World!") return apache.OK – Mitch

답변

3

.htaccess를 삭제할 때 파일이 mod_python을 통해 제공되지 않는 이유는 mod_python의 설정이 그 파일에 있기 때문입니다. 해당 파일을 사이트 (사용 가능한 파일)로 옮기면 .htaccess를 삭제하고 문제를 보지 못하게하고 하루 동안 호출 할 수 있습니다.

그게 너를 만족시키지 못한다면 .htacess가 전혀 읽히지 않는 이유에 관해서, 나는 말할 수 없다. AllowOverride None 이어야 파일을 읽을 수 없습니다. 가상 사이트를 추가 할 때 무언가를 망쳤다는 가능성을 고려 했습니까? 설정에 쓰레기를 버리고 불만 여부를 확인하십시오. 그냥 읽어들이는지 확인하십시오.

+0

문제는 내 가상 호스트에 있다고 생각합니다. AllowOverride가 포함 된 Directory 태그를 VirtualHost 태그 외부로 이동하면 예상대로 작동합니다. - htaccess가 포함되지 않습니다. 이것을 제안 해 주셔서 감사합니다. – Mitch

2

AllowOverride<Directory> 섹션에서만 허용되므로 모든 것을 올바르게 완료했습니다.

당신이 가질 수있는 한 가지 문제점은 다른 (하위) <Directory> 섹션이 AllowOverrideNone과 다른 것으로 설정한다는 것입니다. 그러면 하위 디렉토리에 대한 설정이 무시됩니다. 나는

<Directory /> 
    Options FollowSymLinks 
    AllowOverride None 
</Directory> 
<Directory /var/www/> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride AuthConfig 
    Order allow,deny 
    allow from all 
</Directory> 

/var/www (내 docroot를)에서 사용하는 나는 .htaccess ES를 사용할 수 있습니다.

당신이 당신의 .htaccessmod_python 설정이 .htaccess 파일에 일반적이다 삭제하면 mod_python 더 이상 작동하지 않는 이유.

자세한 정보가 필요하면 구성을 보내주십시오.

추신 : 사실 위의 링크 된 docuementation는 <Directory />에없는 뭔가 NoneAllowOverride을 설정하지해야한다고 말한다.

관련 문제