Tôi có một trang web nơi tất cả các yêu cầu được chuyển hướng âm thầm (qua .htaccess
) đến index.php
và sau đó PHP được sử dụng để hiển thị trang chính xác (bằng cách phân tích cú pháp REQUEST_URI
).Có thể chuyển hướng dữ liệu bài đăng không?
Tôi đã tự hỏi liệu có thể gửi dữ liệu POST đến địa chỉ giả không?
Tôi hiện đang có hình thức của tôi như vậy ...
<form action="/send-mail" method="post">
Và quy tắc .htaccess
của tôi là ...
# redirect mail posting to index
RewriteRule send-mail index.php?send-mail [NC,L]
My index.php
kiểm tra isset($_GET['send-mail'])
mà hoạt động tốt.
Tuy nhiên, điều này dường như làm giảm tất cả dữ liệu POST sẽ được gửi tới nó.
Có cách nào để giữ dữ liệu bài đăng không? Tôi không muốn sử dụng GET vì nó không thể gửi nhiều thông tin, mặc dù nó có thể không phải là một vấn đề với một hình thức yêu cầu đơn giản.
Đây là tôi .htaccess
cho chuyển hướng đến index.php
# serve files and dirs if they exist please, otherwise send to index
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php
Lưu ý rằng bạn cần phải kích hoạt module proxy, và proxy_http_module trong các tập tin cấu hình để làm việc này. Ngoài ra, bạn có thể cần đặt đường dẫn tuyệt đối cho quy tắc ghi đè. Tức là, trong ví dụ trên, bạn sẽ sử dụng 'RewriteRule send-mail /path/to/index/index.php?send-mail [NC, P]' (hoặc ít nhất là một '/' trước chỉ mục) – Marius
Tuyệt vời đã giúp tôi cảm ơn bạn! – Petrogad
Nếu bạn muốn giữ nguyên tiêu đề Máy chủ lưu trữ, bạn cũng sẽ muốn bật 'ProxyPreserveHost On' trong cấu hình apache. –