很抱歉,我無法獨自解決這個問題...成功付款后,用戶將被重定向到我網站上的此 URL:
https://www.example.com/orders/?token=AAA&status=OK
我想獲取令牌和狀態并將它們分配給 GET 變數,但我真的無法這樣做,這是我當前的 RewriteRule:
RewriteRule ^orders/?token=([^/] )&status=([^/] )$ /orders.php?lang=it&token=$1&result=$2 [L]
在orders.php我有這一行:
echo "token: ".$_GET['token'];
但當然在控制臺我總是得到
PHP Notice: Undefined index: token in /orders.php on line 3
有人可以幫我嗎?
uj5u.com熱心網友回復:
您無法使用RewriteRule pattern匹配查詢字串,您需要使用RewriteCond指令并檢查QUERY_STRING服務器變數。但是,在這種情況下,您還必須確保MultiViews禁用(否則orders.php將在沒有任何 URL 引數的情況下呼叫)。
請嘗試以下操作:
# MultiViews MUST be disabled
Options -MultiViews
# Rewrite URL with query string
RewriteCond %{QUERY_STRING} ^token=([^&] )&status=([^/] )$
RewriteRule ^orders/$ orders.php?lang=it&token=%1&result=%2 [L]
注意,這里使用的%1和%2反向參考(相對于$1和$2該獲得從捕獲的組的值在前面的)條件,而不是在RewriteRule 圖案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/348522.html
