Làm thế nào để lặp lại từ .htaccess?


13

Chúng tôi viết rất nhiều mã cho htaccess nhưng phương pháp tốt nhất để gỡ lỗi ngoài việc làm mới trang là gì?

Có một số cách mà tôi có thể viết nó ra một tập tin? hoặc có một số chức năng echo / print?

Đơn giản chỉ cần làm thế nào để tôi biết $ 1 $ 2 $ 3 của tôi là gì?

Câu trả lời:


8

Bạn có thể thử phương pháp được đề cập trong bài đăng trên blog có tiêu đề Một vài cách để gỡ lỗi mod_rewrite :


Về cơ bản những gì bạn làm là kết xuất một số thông tin mà mod_rewrite đang sử dụng trở lại vào các tiêu đề, sau đó sử dụng các tiện ích mở rộng Fireorms hoặc LiveHTTP trong Firefox để xem các tiêu đề và đọc thông tin gỡ lỗi của bạn.

Trong .htaccess sử dụng điều kiện và quy tắc:

RewriteCond %{QUERY_STRING} !vardump
RewriteRule (.*) http://www.example.com/$1?vardump&thereq=%{THE_REQUEST}&reqhost=%{HTTP_HOST} [R=301,L,QSA]

Tôi sẽ đề nghị thực hiện chuyển hướng 302 để tránh những rắc rối với kết quả được lưu trong bộ nhớ cache 301 trong trình duyệt sau khi hoàn thành bài kiểm tra.
IPSUS

9

Thử những thứ này xem:

RewriteLog "/myfolder/mylogfile.log" 
RewriteLogLevel 3

Đây chỉ là Biểu thức chính quy với một số bổ sung, vì vậy bạn có thể sử dụng Regex Coach để kiểm tra ban đầu đối với URL hoặc bất kỳ công cụ gỡ lỗi Regex nào khác.

Chúc mừng! :)


Công cụ rất hữu ích, nhưng hãy nhớ gỡ bỏ nó sau khi gỡ lỗi vì bạn có thể có được một tệp nhật ký lớn!
Coops

6
Rõ ràng điều này không hoạt động trong .htaccesscác tập tin. Nó phải đi theo httpd.confnghĩa là nó thường không thể đạt được trên các tài khoản lưu trữ được chia sẻ. :-(
Simon East

2

Đây là một hack nhỏ thú vị để "dội lại" các biến từ tệp .htaccess.

Nếu bạn đã đặt AllowOverride thành FileInfo, bạn có thể đặt và kích hoạt phản hồi lỗi tùy chỉnh trong tệp .htaccess của mình với các biến mong muốn trong đầu ra:

ErrorDocument 404 "Request: %{THE_REQUEST} Referrer: %{HTTP_REFERER} Host: %{HTTP_HOST}"
RewriteRule ^ - [L,R=404]

Tùy thuộc vào mức độ sáng tạo của bạn với các biểu thức, bạn có thể xuất ra khá nhiều thông tin hữu ích!

Bạn không bị giới hạn trong việc sử dụng trạng thái 404 trên nội dung "lặp lại" của mình. Bạn thậm chí có thể ghi đè trạng thái 200 "ErrorDocument" - kết hợp với <If>các lệnh có thể tạo ra một số cách sử dụng khá thú vị khác của bản hack này để trả về nội dung trực tiếp từ tệp .htaccess.

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.