Apache 重写规则给出 404 Paypal IPN 重定向

Apache Rewrite Rule gives 404 Paypal IPN Redirection

我一直在尝试让重写规则工作以将我的旧贝宝 IPN URL 重定向到我的新 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

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

感谢您的指导!

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

小问题是分两行写这样的规则很不正常。实际上,我不确定您使用的形式是否允许这样做;我希望至少必须有一个行继续字符。所以我会先把规则放在一行中。

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

您的规则应如下所示:

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

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