2013-10-21 5 views
3

전에 난 내 htaccess로의 재 작성 규칙을 가지고 있습니다. 'vt'파일이 없으면 apache2는 404 오류 만 표시합니다.아파치 (404)가 재 작성

그래서 apache2는 파일 stat을 검사 한 후 다시 작성하는 것으로 보입니다. 어떻게 해결할 수 있습니까?


나는 이것이 버그라고 생각합니다. 나는 두 개의 파일 (vt와 vt.php) 사용을 피하기 위해 finnally이 규칙을 사용한다.

RewriteRule ^vt$ - [H=application/x-httpd-php] 
+0

죄송합니다,하지만 당신은 일이 기대 :

그런 2. Multiviews을 해제하기 위해 htaccess로 파일에서이 줄을 추가? 네가 생각하는 것에 대해 혼란 스럽다. – TRiG

+0

이것은 완전한 .htaccess입니까 아니면 다른 규칙이 있습니까? – anubhava

답변

2

을 사용합니다 특정 페이지로 이동합니다.

  1. , "추측"을 시도 mod_negotiation의 일부가 mod_rewrite를 mod_rewrite를가 Multiviews이 무엇

을로드 것처럼이을 표시 하고있다

  • Multiviews
  • 을로드 할 나타나지 않는 것을 확장 기능과 같은 항목이없는 경우 요청합니다. 따라서 Multiviews이 켜져 있고 /vt에 대한 요청이 있고 vt 파일이 존재하지 않는다면 그 파일은 /vt.php을 추측하여 찾은 것입니다. 그렇지 않으면 아무것도 표시하지 않고 404를 반환합니다. mod_rewrite 규칙이 실제로 적용되고 있습니다. 실제로 mod_rewrite가 켜져 있으면 mod_negotiation이 켜져 있고 파일이 누락 되어도 (404가 발생 함) 규칙을 적용합니다.

    그래서 1. mod_rewrite가 실제로로드되었는지 확인하십시오. 이렇게하려면 httpd.conf 파일을 확인하고이과 같은 줄 (주석)이 있어야한다 :

    LoadModule rewrite_module modules/mod_rewrite.so 
    

    아니면 500 서버 오류, mod_rewrite를 얻을 경우는 <IfModule mod_rewrite.c> 컨테이너를 제거 시도 할 수 있습니다 가로드되지 않았습니다.

    Options -Multiviews 
    
    +0

    감사합니다. 나는 이것이 버그 일 것 같아요.모듈 재 작성이로드 된 것 같습니다. 마지막으로 재 작성 규칙을 다음과 같이 변경했습니다. RewriteRule^vt $ - [H = application/x-httpd-php] – user2902980

    0

    당신은 단순히 "/"당신의 htaccess로 파일에 다음 줄을 추가하여 "404 오류 문서", 그래서 방문자로 홈페이지 또는 의 index.php로 돌아 정의 할 수 있습니다.

    ErrorDocument 404/
    

    당신이 그들을 원하는 경우

    은 단순히 여기 일이 2 가지가있을 수 있습니다처럼이 소리

    ErrorDocument 404 /path/to/your/404/file.ext 
    
    +0

    질문을 다시 읽으십시오. OP의 문제는 파일'vt'가있을 때 404가됩니다. – anubhava