2016-08-26 2 views
0

당신은 아파치가 %{REQUEST_URI}처럼 많은 서버 변수가 방법을 알고, 그리고 %{ENV:REDIRECT_STATUS}.htaccess - 들어오는 요청의 HTTP 상태 코드를 어떻게 캡처합니까?

현재 요청의 HTTP 상태 코드에 대한 변수 이름은 무엇입니까?

나는 'HTTP 상태 코드가 302 인 경우 ...'라는 RewriteCond을 쓰고 싶기 때문에이 질문을드립니다. 하지만이 서버 변수가 무엇인지 알 수는 없습니다.

도움을 주시면 대단히 감사하겠습니다.

+0

HTTP의 범위에서 응답 코드와 함께 가능하다면 내가 모르는 : //httpd.apache .org/docs/current/mod/mod_rewrite.html # rewritecond –

+5

코드는 요청 처리가 완료 될 때까지는 결정될 수 없기 때문에 사용할 수 없습니다. 예 : 예쁜 URL은 거의 서버의 실제 파일로 존재하지 않기 때문에 "예쁜"URL을 사용한다면 '200'코드를 테스트 할 필요가 없습니다. 정의상 모든 예쁜 URL 자체는 404입니다. 그들이 쓴 것만이 200이 될 것입니다. –

+0

감사 마크, 감사합니다! – MustafaG

답변

1

요청 코드 상태 코드가 없습니다. 응답 만 서버에서 클라이언트로 다시 전송되며 HTTP status code입니다.

가장 가까운 방법은 ErrorDocument 지시어를 사용하여 Custom Error Responses으로 설정하는 것입니다. 즉, 일부 상태 코드 (예 : 404, 제대로 작동하는 일부 서버 측 스크립트를 호출 할 수 있습니다.

ErrorDocument 404 /var/www/html/errors/handle_404.php 

이 400, 500로 시작하는 상태 코드에 대한 작동하지만,이 200 또는 300

+0

감사합니다. 귀하의 간결한 답변에 감사드립니다. 오류 문서는 도움이되지 않지만 이제는 내 문제에 대한 다른 해결책을 찾아야합니다. – MustafaG

+0

[Filters] (https://httpd.apache.org/docs/2.4/mod/mod_filter.html)는 다른 옵션이지만, 필자는이를 사용하는 데 경험이 없습니다. 설명서를 살펴보고 적절한 것이 있는지 확인해야합니다. –

+0

안녕하세요 올라프 - 고마워요. 여기에 내가 지금 달성하고 싶은 것입니다 : PHP 스크립트 및 무한 루프를 만드는 apache rewriteRule 있어요 ... 단지 xwz.php 리디렉션하려면 아파치 원하는 경우 xyz.php 그냥 리디렉션 된 아닙니다. 이 현재 자원. 나는 그 말을 해야할지 모르겠다. 어쩌면 당신이 달성 할 수있는 방법에 대한 몇 가지 지침이 있습니까? – MustafaG

관련 문제