.htaccess rewriterule不工作在openlistspeed

0yg35tkg  于 2023-05-07  发布在  其他
关注(0)|答案(1)|浏览(174)

我的openlitespeed服务器上的rewriterule有问题。在我的主页(WordPress)中:domainweb.com我有一个按钮,点击后会进入另一个Web应用程序中的测试,该应用程序具有以下域:我domainapp.com/test/any_thing想当点击说“测试”按钮,它带我到应用程序,但它继续让我domainweb.com/test/any_thing

#HTACCESS FINAL
RewriteEngine On
RewriteRule ^/test/(.*)$ https://dominioapp.com/test/$1/ [L]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

我想知道我的htaccess有什么问题

jaql4c8m

jaql4c8m1#

这是不可能通过重写单独。原因是重写只在内部工作。为此,您需要代理模块,这显然意味着必须安装并启用代理模块。
直接使用代理模块的第一个选项:

ProxyPass /test/ https://app.example.com/test/
ProxyPassReverse /test/ https://app.example.com/test/

使用嵌入在重写模块中的代理模块的第二选项:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)\.web\.example\.com$
RewriteRule ^/?test/(.*)/?$ https://app.example.com/test/$1/ [P]

(The RewriteCond仅在两个主机都从同一位置提供服务时才需要,因此,如果这些规则都为 both 请求处理。)
但是,您需要记住,您对这样的设置有一个惩罚:由客户端发起的每个请求的两个完整HTTP往返。这意味着更长的加载时间和服务器端的额外负载。
下面是代理模块的文档,该文档应该 * 始终 * 是第一个开始的地方:https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html
【免责声明:我没有测试上面的行,只是把它们写下来。希望没有错别字)。

相关问题