簡體   English   中英

如何為PayPal IPN(htaccess)重寫規則?

[英]How to do rewrite rule for PayPal IPN (htaccess)?

已經在這里呆了幾個小時了。

我需要重定向

http://www.mywebsite.com/index.php?option=com_acctexp&task=paypal_subscriptionnotification&Itemid=

http://www.mywebsite.com/dir/lib/ipn.php

到目前為止,我已經嘗試了所有類似的組合:

RewriteCond %{QUERY_STRING} ^option=com_acctexp&task=paypal_subscriptionnotification&Itemid=$
RewriteRule ^(.*)$ /dir/lib/ipn.php [L]

[L]也已替換為[R = 301,L],收效甚微

我有點不知所措,因為我不完全知道自己在做什么。 我已經閱讀了Apache文檔,但對我來說卻很神秘。 我不希望保留查詢字符串,但是我想保留隨ipn發送的json數據。

模式末尾的$表示它必須完全匹配-查詢字符串必須以=結尾,附加itemid值將導致匹配失敗。 要傳遞請求,您不想執行301重定向,這將導致新的請求。 要刪除查詢字符串並防止循環,請添加一個? 至您的重寫結束。

RewriteBase /
RewriteCond %{QUERY_STRING} ^option=com_acctexp&task=paypal_subscriptionnotification&Itemid=([^&]+?)
RewriteRule (.*) /dir/lib/ipn.php? [L]

http://htaccess.madewithlove.be/上進行測試

Input: http://www.example.com?option=com_acctexp&task=paypal_subscriptionnotification&Itemid=123

1  RewriteBase /    
2  RewriteCond %{QUERY_STRING} ^option=com_acctexp&task=paypal_subscriptionnotification&Itemid=([^&]+?)
   This condition was met
3  RewriteRule (.*) /dir/lib/ipn.php? [L]
   This rule was met, the new url is http://www.example.com/dir/lib/ipn.php

   The tests are stopped because the L in your RewriteRule options

Output: http://www.example.com/dir/lib/ipn.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM