在使用 htaccess 重写 URL 时,我非常喜欢,尽管我可以做基础。
在这种情况下,我有一系列从供应商返回到我的脚本的查询字符串。这一切都很好,很花哨,除非它包含一个带有“http”或“https”的 URL。当它检测到这一点时,Apache 会抛出 403 Forbidden 错误。我认为我可以制作一个 RewriteRule,将查询字符串的“http”部分重写为可以通过 Apache 规则的东西。
这最终将安装在客户端的机器上,因此我无法更改任何服务器设置。
一个示例 URL 是:
http://mysite.com/gocardless_confirm.php?resource_uri=https%3A%2F%2Fsandbox.gocardless.com%2Fapi%2Fv1%2Fbills%2F07F56ERHRT
这是我尝试使用的设置:
RewriteCond ${QUERY_STRING} ^(.*)$resource_uri=http^(.*)$
RewriteCond %{REQUEST_URI} ^gocardless_confirm.php
RewriteRule ^(.*)$ gocardless_confirm.php?$1resource_uri=hllp$2 [L]
我怎样才能重写这部分,以便我可以简单地访问脚本?
谢谢!