【问题标题】:Rewrite URL for Payment Gateway重写支付网关的 URL
【发布时间】:2017-09-23 12:44:56
【问题描述】:

我正在开发一个不允许“?”的支付网关在回调 URL 中。此支付网关必须与 Wordpress + Woocommerce 集成。

我的回调 URL 似乎是

http://localhost/payment/index.php/my-account/?wc-api=WC_Gateway_Abc

我想以不同的方式使用它,这样支付网关就不会出错。这是一个例子:

http://localhost/payment/index.php/my-account/wc-api/WC_Gateway_Abc

之后,当支付网关将响应发送回 Wordpress 站点时,我想使用 htaccess 重写它,以便 Wordpress 文件可以执行响应。

显然,只有

?wc-api=WC_Gateway_Abc

部分应该是可重写的。

P.S:这是一个插件,所以我无法更改插件目录之外的 Wordpress 文件。

htaccess 重写条件有什么提示吗?

【问题讨论】:

  • 你可以设置重写标签,然后在初始化钩子中添加和设置自定义URL的重写规则,刷新永久链接后你也可以看到特定页面的效果。codex.wordpress.org/Rewrite_API/add_rewrite_rule
  • @AshPatel 这是一个插件,所以我无法编辑插件目录之外的文件。
  • 是的,但是您可以尝试/签入插件函数文件或添加到主题函数文件中,为支付网关的特定查询字符串添加重写 URL。

标签: php wordpress .htaccess woocommerce


【解决方案1】:

这是一个可能的选择

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{REQUEST_URI} (.*)\/wc-api\/(.*) [NC]
RewriteRule ^ %1?wc-api=%2 [L]

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-02
    • 2011-11-25
    • 1970-01-01
    • 2012-04-10
    • 2012-11-12
    • 2013-05-20
    • 1970-01-01
    • 2016-02-25
    相关资源
    最近更新 更多