Apache Rewrite Rule提供404 Paypal IPN重定向

时间:2017-09-26 06:13:23

标签: apache .htaccess mod-rewrite url-rewriting paypal-ipn

我一直试图让重写规则工作将我的旧paypal IPN网址重定向到我的新网址,我在.htaccess文件中尝试了以下内容并且似乎无法使其工作,任何帮助将不胜感激!!

   # BEGIN PayPal Fix
   <IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteRule ^/wc-api/WC_Gateway_Paypal/ 
   ^/hosting/modules/gateways/callback/paypal.php [R=307,L]
   </IfModule>
   END PayPal Fix

stackoverflow上关于类似问题的另一个线程:Change the IPN url on existing subscription 请参阅jon G关于他重写的帖子,这正是我想要完成的!

感谢您的任何指导!

1 个答案:

答案 0 :(得分:0)

您的重写规则似乎存在一些问题。

小问题是将这样的规则写成两行是不常见的。事实上,我不确定你使用的形式是否允许这样做;我希望至少有一个续行字符。所以我会先把规则放到一行。

但主要问题在于重写规则的目标。虽然重写规则的第一部分是搜索模式(正则表达式),但第二部分(目标)不是,因此您应该忽略前导^

您的规则应如下所示:

RewriteRule ^/wc-api/WC_Gateway_Paypal/ /hosting/modules/gateways/callback/paypal.php [R=307,L]

但我想知道为什么搜索模式中没有脚本名称。您真的想将目录映射到脚本吗?或者WC_Gateway_Paypal只是作为目录出现,但实际上已经通过之前评估的重写规则映射到脚本?