如果url包含“0”,则Apache HTTP服务器重定向到端口8085;“演示”;否则重定向到端口8080

如果url包含“0”,则Apache HTTP服务器重定向到端口8085;“演示”;否则重定向到端口8080,apache,redirect,routes,httpd.conf,Apache,Redirect,Routes,Httpd.conf,我有两个应用程序在端口8080和8085上运行。两者都有不同的URL查询/路径,端口8085上的应用程序在其所有URL查询/路径上都有关键字demo,而其他端口则没有。因此,它充当唯一标识符 我可以对/etc/httpd/conf/httpd.conf文件进行任何更改吗?这样,如果服务器将demo标识为关键字,则请求将到达端口8085上的应用程序,否则,请求将到达端口8080上的端口应用程序 如果有办法,请提供进入httpd.conf文件的示例配置 编辑1: 在尝试了下面的前两个答案后,我没能做

我有两个应用程序在端口8080和8085上运行。两者都有不同的URL查询/路径,端口8085上的应用程序在其所有URL查询/路径上都有关键字demo,而其他端口则没有。因此,它充当唯一标识符

我可以对
/etc/httpd/conf/httpd.conf
文件进行任何更改吗?这样,如果服务器将demo标识为关键字,则请求将到达端口8085上的应用程序,否则,请求将到达端口8080上的端口应用程序

如果有办法,请提供进入httpd.conf文件的示例配置

编辑1:

在尝试了下面的前两个答案后,我没能做到这一点。我不知道ProxyPass和ProxyPassReverse是否不允许实现这一点。我试着对它们进行评论,将它们添加到VirtualHost等中,但没有帮助

这就是我们所期望的流程: 用户将点击URL(不提及端口),如-
https://example.com/demo
这将路由到端口上的应用程序
8085
否则路由到
8080

可能正在查看完整的httpd.conf可能会有所帮助


如果查询字符串包含单词“demo”,请链接到my httpd.conf-

重写条件:


如果查询字符串包含单词“demo”,则重写条件:

尝试:


#一些形态
重写cond%{REQUEST_URI}演示[或]
重写cond%{QUERY_STRING}演示
重写规则^http://%{http_HOST}:8085%{REQUEST_URI}[QSA,L]
#再来一点

<VirtualHost *:8085>
#some conf
RewriteCond %{REQUEST_URI} !demo
RewriteCond %{QUERY_STRING} !demo
RewriteRule ^ http://%{HTTP_HOST}:8080%{REQUEST_URI} [QSA,L]
#some more conf
</VirtualHost>

#一些形态
重写cond%{REQUEST_URI}!演示
重写cond%{QUERY_STRING}!演示
重写规则^http://%{http_HOST}:8080%{REQUEST_URI}[QSA,L]
#再来一点
试试:


#一些形态
重写cond%{REQUEST_URI}演示[或]
重写cond%{QUERY_STRING}演示
重写规则^http://%{http_HOST}:8085%{REQUEST_URI}[QSA,L]
#再来一点

<VirtualHost *:8085>
#some conf
RewriteCond %{REQUEST_URI} !demo
RewriteCond %{QUERY_STRING} !demo
RewriteRule ^ http://%{HTTP_HOST}:8080%{REQUEST_URI} [QSA,L]
#some more conf
</VirtualHost>

#一些形态
重写cond%{REQUEST_URI}!演示
重写cond%{QUERY_STRING}!演示
重写规则^http://%{http_HOST}:8080%{REQUEST_URI}[QSA,L]
#再来一点

谢谢,我将尝试此功能,如果它有效,我将很快接受它。您能告诉我是否应该为
/var/www/example/
而烦恼吗?您不必为/var/www/example而烦恼,因为HTTP_主机将根据配置自动选择文件夹。尝试了此操作,但无法实现。附上我的
httpd.conf
。可能是,如果它在某些方面有所帮助,谢谢。我会尝试一下,如果它奏效,我会很快接受它。您能告诉我是否应该为
/var/www/example/
而烦恼吗?您不必为/var/www/example而烦恼,因为HTTP_主机将根据配置自动选择文件夹。尝试了此操作,但无法实现。附上我的
httpd.conf
。可能是因为它在某种程度上有所帮助,尝试了这一点,但未能实现这一点。附上我的
httpd.conf
。可能是因为它在某种程度上有所帮助,尝试了这一点,但未能实现这一点。附上我的
httpd.conf
。如果它在某种程度上有帮助的话
RewriteRule ^Demo http://%{HTTP_HOST}:8085/$1 [L,R]
<VirtualHost *:8080>
#some conf
RewriteCond %{REQUEST_URI} demo [OR]
RewriteCond %{QUERY_STRING} demo
RewriteRule ^ http://%{HTTP_HOST}:8085%{REQUEST_URI} [QSA,L]
#some more conf
</VirtualHost>
<VirtualHost *:8085>
#some conf
RewriteCond %{REQUEST_URI} !demo
RewriteCond %{QUERY_STRING} !demo
RewriteRule ^ http://%{HTTP_HOST}:8080%{REQUEST_URI} [QSA,L]
#some more conf
</VirtualHost>