Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Memelihara Data POST Semasa Ubah Arah dalam PHP dengan .htaccess?

Bagaimana untuk Memelihara Data POST Semasa Ubah Arah dalam PHP dengan .htaccess?

Linda Hamilton
Lepaskan: 2024-11-29 22:18:12
asal
787 orang telah melayarinya

How to Preserve POST Data During Redirection in PHP with .htaccess?

Mengubah hala Data POST dalam PHP dengan .htaccess

Soalan:

Bolehkah data POST menjadi diserahkan kepada alamat palsu yang mengubah hala ke indeks halaman?

Senario:

Tapak web menggunakan fail .htaccess untuk mengubah hala semua permintaan ke index.php. Walau bagaimanapun, apabila menggunakan borang dengan kaedah POST untuk menyerahkan data ke alamat palsu, data POST hilang semasa pengalihan semula.

Analisis:

Lalai .htaccess peraturan yang digunakan dalam senario ini ialah:

RewriteRule send-mail index.php?send-mail [NC,L]
Salin selepas log masuk

Peraturan ini mengubah hala permintaan ke index.php dengan betul, tetapi bendera [L] (terakhir) menghentikan pemprosesan selanjutnya dan membuang sebarang data POST.

Penyelesaian:

Untuk mengekalkan data POST semasa pengalihan, tukar bendera [L] kepada [P] (proksi):

RewriteRule send-mail index.php?send-mail [NC,P]
Salin selepas log masuk

Penjelasan:

Bendera [P] bertindak serupa dengan [L] dengan menghentikan pemprosesan peraturan, tetapi ia juga mengarahkan modul proksi untuk mengendalikan permintaan secara utuh, termasuk sebarang data POST.

Tambahan Nota:

  • Permintaan GET terhad dalam jumlah data yang boleh dihantar berbanding permintaan POST.
  • Peraturan .htaccess untuk mengubah hala ke index.php ialah:
# serve files and dirs if they exist please, otherwise send to index
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Memelihara Data POST Semasa Ubah Arah dalam PHP dengan .htaccess?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan