Apache: Nơi để kiểm tra các bản ghi chuyển hướng?


10

Tôi đã phức tạp RewriteCondRewriteRuletrong một máy. Và theo các quy tắc này, một số yêu cầu sẽ được chuyển hướng đến một máy khác.

Vậy có nhật ký Apache nào cho thấy rõ quá trình chuyển hướng diễn ra như thế nào không? Bởi vì việc chuyển hướng đang diễn ra theo những cách mà tôi không lường trước được.

Câu trả lời:


9

Đối với người không quen biết, đây là cách bạn nên viết tệp * .conf của mình:

  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
Câu trả lời hay - không được đề xuất, xin lưu ý rằng mức ghi nhật ký trên 2 trên máy chủ sản xuất có thể có tác động đáng kể về hiệu suất.
cori

7
Đối với các phiên bản Apache mới hơn (ít nhất là 2.4 và mới hơn), RewriteLog / RewriteLogLevel không còn hoạt động. Nó đã được thay thế bằng chỉ thị LogLevel: httpd.apache.org/docs/2.4/mod/mod_rewrite.html#logging
ronneseth


1

Bạn có thể cấu hình một logfile đặc biệt để Rewritexử lý bằng lệnh RewriteLog. Số lượng đăng nhập có thể được chọn với RewriteLogLevel.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.