[英]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.