我有一个服务器localhost:8080
,我已经通过一个名为的隧道软件向它发送请求,ngrok
所以现在我想设置我的 mod_rewrite 策略来映射和服务任何请求,mysubdomain.ngrok.com
而localhost:8080
无需重定向浏览器。
# Turn on rewrites
RewriteEngine on
###
## Rules for "mysubdomain.ngrok.com"
###
RewriteCond %{HTTP_HOST} ^mysubdomain.ngrok.com$
RewriteRule .? %{REQUEST_URI} [L]
###
## Rules for "localhost:8080"
###
RewriteCond %{HTTP_HOST} ^localhost:8080$
RewriteRule . - [E=REWRITEBASE:/prestashop/]
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]
但我最终陷入无限重定向循环!避免这种情况并实现我的目标的最佳方法是什么?
[/initial] [perdir /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/] add path info postfix: /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/api -> /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/api/products
[/initial] [perdir /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/] strip per-dir prefix: /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/api/products -> api/products
[/initial] [perdir /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/] applying pattern '.?' to uri 'api/products'
[/initial] [perdir /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/] RewriteCond: input='mysubdomain.ngrok.com' pattern='^mysubdomain.ngrok.com$' => matched
[/initial] [perdir /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/] rewrite 'api/products' -> '/prestashop/api/products'
[/initial] [perdir /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/] internal redirect with /prestashop/api/products [INTERNAL REDIRECT]
[/initial/redir#1] [perdir /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/] add path info postfix: /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/api -> /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/api/products
[/initial/redir#1] [perdir /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/] strip per-dir prefix: /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/api/products -> api/products
[/initial/redir#1] [perdir /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/] applying pattern '.?' to uri 'api/products'
[/initial/redir#1] [perdir /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/] RewriteCond: input='mysubdomain.ngrok.com' pattern='^mysubdomain.ngrok.com$' => matched
[/initial/redir#1] [perdir /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/] rewrite 'api/products' -> '/prestashop/api/products'
[/initial/redir#1] [perdir /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/] internal redirect with /prestashop/api/products [INTERNAL REDIRECT]
...
[/initial/redir#10] [perdir /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/] add path info postfix: /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/api -> /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/api/products
[/initial/redir#10] [perdir /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/] strip per-dir prefix: /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/api/products -> api/products
[/initial/redir#10] [perdir /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/] applying pattern '.?' to uri 'api/products'
[/initial/redir#10] [perdir /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/] RewriteCond: input='mysubdomain.ngrok.com' pattern='^mysubdomain.ngrok.com$' => matched
[/initial/redir#10] [perdir /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/] rewrite 'api/products' -> '/prestashop/api/products'
[/initial/redir#10] [perdir /Users/root/dev/bitnami-ps1/apps/prestashop/htdocs/] internal redirect with /prestashop/api/products [INTERNAL REDIRECT]