我有一个重定向规则:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>
<VirtualHost *:7080>
ServerAdmin webmaster@localhost
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^/?(.*) https://merchant.juspay.in/$1 [R,L]
RewriteCond %{SERVER_NAME} demo.juspay.in
RewriteRule ^/?(.*) https://merchant.juspay.in/$1 [R,L]
</VirtualHost>
<VirtualHost *:8080>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://api.juspay.in
</VirtualHost>
在apache中。我需要一种编写规则的方法,使我的ip(80
)的端口localhost
不应重定向到8443
。
我该怎么做?
答案 0 :(得分:0)
Apache配置说“侦听端口80”,这是您的VirtualHost的翻译:
<VirtualHost *:80>
因此,如果您的请求http://www.yourdomain.com:8443
,我认为您不会在此虚拟主机中结束您需要另一个vhost侦听此特定端口(8443)或我认为您可以这样做:
<VirtualHost *:80 *:8443>
确保您有2个不同的侦听器设置:
Listen 80
Listen 8443
我只是再次阅读你的问题,据我所知,它自己重定向到8443端口。这意味着:
- 您的路由器中有端口转发设置,它将端口80转发到8443,
- 有一个htaccess规则将请求重定向到此端口
- 或者也许是PHP应用程序本身。
答案 1 :(得分:0)
如果要捕获HTTPS(端口443)上的流量,则需要另一个侦听此端口的虚拟主机。只需使用相同的目录和设置(以及SSL证书)就可以了。
您不需要执行RewriteRule。 Apache将根据请求的协议知道用于为您的文件提供服务的vhost。