在代理 Apache2 之后重定向
Redirect After Proxy Apache2
我有一个在 https://ip:8443 上运行的应用程序。我有一个 Apache2 代理服务器站在这个应用程序前面,配置如下。
<VirtualHost *:80>
ServerName mydomain
ServerAlias mydomain
Redirect permanent / https://mydomain/
</VirtualHost>
<VirtualHost *:443>
ProxyPreserveHost On
ProxyRequests Off
SSLProxyEngine On
ServerName mydomain
ServerAlias mydomain
ProxyPass / https://ip:8443/
ProxyPassReverse / https://ip:8443/
SSLCertificateFile /etc/letsencrypt/live/mydomain/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mydomain/privkey.pem
</VirtualHost>
现在,当我在浏览器上点击 https://mydomain 时,它工作正常并显示 https://ip:8443 内容.
现在我希望当有人访问 https://mydomain 时被重定向到另一个 URL https://mydomain/subfolder 显示 https://ip:8443/subfolder.
我搜索了一个星期,在这里尝试了很多解决方案,但都没有用。
这个解决方案对我有用。
我将以下行添加到 <VirtualHost *:443>
<VirtualHost *:443>
...
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/$
RewriteRule (.*) https://mydomain/subfolder/ [R=301,L]
</VirtualHost>
我有一个在 https://ip:8443 上运行的应用程序。我有一个 Apache2 代理服务器站在这个应用程序前面,配置如下。
<VirtualHost *:80>
ServerName mydomain
ServerAlias mydomain
Redirect permanent / https://mydomain/
</VirtualHost>
<VirtualHost *:443>
ProxyPreserveHost On
ProxyRequests Off
SSLProxyEngine On
ServerName mydomain
ServerAlias mydomain
ProxyPass / https://ip:8443/
ProxyPassReverse / https://ip:8443/
SSLCertificateFile /etc/letsencrypt/live/mydomain/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mydomain/privkey.pem
</VirtualHost>
现在,当我在浏览器上点击 https://mydomain 时,它工作正常并显示 https://ip:8443 内容.
现在我希望当有人访问 https://mydomain 时被重定向到另一个 URL https://mydomain/subfolder 显示 https://ip:8443/subfolder.
我搜索了一个星期,在这里尝试了很多解决方案,但都没有用。
这个解决方案对我有用。
我将以下行添加到 <VirtualHost *:443>
<VirtualHost *:443>
...
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/$
RewriteRule (.*) https://mydomain/subfolder/ [R=301,L]
</VirtualHost>