我有這個 .htaccess 檔案,它進行一些重定向和重寫(洗掉擴展名..等),但是當我使用 POST 方法發送資料時,它會一路丟失。
嘗試添加此條件以阻止帶有 POST 資料的請求重定向,但它不起作用。
Options FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^resume-.*/([0-9] )$ /book.php?id=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^channel-books/([0-9] )/([0-9] )/([0-9] )$ /getChannelBooks.php?idChaine=$1&page=$2&orderby=$3 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^channel-books/([0-9] )/([a-zA-Z] )$ /getChannelBooks.php?idChaine=$1&$2 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^chaine-.*/([0-9] )$ /model_contenu_de_chaine.php?idChaine=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^search-([0-9] )$ /search_page.php?search=$1 [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^audio-([0-9] )$ /audiobook.php?id=$1 [QSA]
RewriteRule ^$ /index.php [NC]
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} \s/([^.] )\.php [NC]
RewriteRule ^ /%1 [NE,L,R=307]
RewriteRule ^([^\.] )$ $1.php [NC]
這是我的帖子請求的樣子

這是我的 destroy_session.php 檔案中的代碼
if(isset($_POST['action']) && $_POST['action'] == 'logout'){
session_unset("username");
session_destroy();
}
uj5u.com熱心網友回復:
這是我的帖子請求的樣子
這是這里的實際問題,這與 URL 重寫無關。
$_POST如果您發送這樣的原始請求,PHP 不會填充。您需要發送application/x-www-form-urlencoded或multipart/form-data。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/495769.html
