Apache : 리디렉션 로그를 어디에서 검사합니까?


10

복잡 RewriteCond하고 RewriteRule하나의 컴퓨터에 있습니다. 그리고 이러한 규칙에 따라 일부 요청이 다른 시스템으로 리디렉션됩니다.

리디렉션이 어떻게 발생하는지 명확하게 보여주는 Apache 로그가 있습니까? 리디렉션이 예상치 못한 방식으로 발생하기 때문입니다.

답변:


9

시작하지 않은 경우 다음과 같이 * .conf 파일을 작성해야합니다.

  NameVirtualHost *:80
  <VirtualHost *:80 >
    ServerName gw.myserver.net
    DocumentRoot "C:\Program Files\MyCompany\myserver\Web"
    DirectoryIndex index.html index.php
    RewriteLog "logs\rewritelog.txt"
    RewriteLogLevel 3
    <Directory  "C:\Program Files\ MyCompany\ myserver\Web">
       AddDefaultCharset UTF-8
       Order Deny,Allow
       Allow from all

       RewriteEngine on
       RewriteBase /
       RewriteCond %{HTTP_HOST}   ^gw\. myserver\.net$
       RewriteRule !^(login|index.php)  http://pmmenu. myserver\.net%{REQUEST_URI}$1 [L,R=301]
       # we check if the .html version is here (caching)
       RewriteRule ^$ index.html [QSA]
       RewriteRule ^([^.]+)$ $1.html [QSA]
       RewriteCond %{REQUEST_FILENAME} !-f

       # no, so we redirect to our front web controller
       RewriteRule ^(.*)$ index.php [QSA,L]
    </Directory>
  </VirtualHost>

2
좋은 대답-시작되지 않았습니다. 프로덕션 서버에서 2보다 큰 로그 수준은 상당한 성능 영향을 미칠 수 있습니다.
cori 2016 년

7
최신 Apache 버전 (최소 2.4 이상)의 경우 RewriteLog / RewriteLogLevel이 더 이상 작동하지 않습니다. LogLevel 지시어로 대체되었습니다 : httpd.apache.org/docs/2.4/mod/mod_rewrite.html#logging
ronneseth


1

지시문으로 Rewrite처리 하도록 특별히 로그 파일을 구성 할 수 있습니다 RewriteLog. 로 로그 양을 선택할 수 있습니다 RewriteLogLevel.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.