diff --git a/apache/proxy-to-virtual-path.conf b/apache/proxy-to-virtual-path.conf
index 3da92e5..790834a 100644
--- a/apache/proxy-to-virtual-path.conf
+++ b/apache/proxy-to-virtual-path.conf
@@ -1,4 +1,5 @@
Listen 80
+LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule unixd_module modules/mod_unixd.so
@@ -22,7 +23,7 @@ Define DS_ADDRESS backendserver-address
SetEnvIf Host "^(.*)$" THE_HOST=$1
RequestHeader setifempty X-Forwarded-Proto http
RequestHeader setifempty X-Forwarded-Host %{THE_HOST}e
- RequestHeader edit X-Forwarded-Host (.*) $1${VPATH}
+ RequestHeader setifempty X-Forwarded-Prefix ${VPATH}
ProxyAddHeaders Off
diff --git a/haproxy/proxy-to-virtual-path.cfg b/haproxy/proxy-to-virtual-path.cfg
index 4156b44..15603c9 100644
--- a/haproxy/proxy-to-virtual-path.cfg
+++ b/haproxy/proxy-to-virtual-path.cfg
@@ -12,6 +12,6 @@ frontend default_port_80
default_backend default_service
backend default_service
acl existing-x-forwarded-host req.hdr(X-Forwarded-Host) -m found
- http-request add-header X-Forwarded-Host %[req.hdr(Host)]/documentserver-virtual-path unless existing-x-forwarded-host
- reqrep ^([^\ :]*)\ /documentserver-virtual-path/(.*) \1\ /\2
+ http-request add-header X-Forwarded-Prefix /documentserver-virtual-path unless existing-x-forwarded-host
+ http-request replace-path /documentserver-virtual-path[/]?(.*) /\1
server onlyoffice-documentserver backendserver-address:80
diff --git a/iis/proxy-to-virtual-path/README.md b/iis/proxy-to-virtual-path/README.md
index 3ef2f03..f474a0e 100644
--- a/iis/proxy-to-virtual-path/README.md
+++ b/iis/proxy-to-virtual-path/README.md
@@ -59,3 +59,6 @@ Add IIS server variables. You will need to add `HTTP_X_FORWARDED_PROTO`,`HTTP_X_
* In the right-side menu locate **Manage Server Variables** and click **View Server Variables**.
* Use the **Add...** action and add the `HTTP_X_FORWARDED_PROTO`,`HTTP_X_FORWARDED_HOST`,`HTTP_THE_SCHEME` and `HTTP_THE_HOST` one after another.
More information on adding the variables to the IIS server can be found [here](https://www.iis.net/learn/extensions/url-rewrite-module/setting-http-request-headers-and-iis-server-variables).
+
+
+For example to work correctly, you need to add a virtual path to the documentserver configuration file %ProgramW6432%\ONLYOFFICE\example\config\local.json: server.siteUrl: "/documentserver-virtual-path/"
diff --git a/iis/proxy-to-virtual-path/web.config b/iis/proxy-to-virtual-path/web.config
index e4b4a61..0fcd453 100644
--- a/iis/proxy-to-virtual-path/web.config
+++ b/iis/proxy-to-virtual-path/web.config
@@ -29,7 +29,8 @@
-
+
+
diff --git a/nginx/proxy-to-virtual-path.conf b/nginx/proxy-to-virtual-path.conf
index 7c5cb20..b28145c 100644
--- a/nginx/proxy-to-virtual-path.conf
+++ b/nginx/proxy-to-virtual-path.conf
@@ -22,9 +22,10 @@ map $http_upgrade $proxy_connection {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
-proxy_set_header X-Forwarded-Host $the_host/documentserver-virtual-path;
+proxy_set_header X-Forwarded-Host $the_host;
proxy_set_header X-Forwarded-Proto $the_scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+proxy_set_header X-Forwarded-Prefix /documentserver-virtual-path;
server {
diff --git a/traefik/proxy-to-virtual-path.toml b/traefik/proxy-to-virtual-path.toml
index 66b943e..b1d3a63 100644
--- a/traefik/proxy-to-virtual-path.toml
+++ b/traefik/proxy-to-virtual-path.toml
@@ -21,7 +21,7 @@ defaultEntryPoints = ["http"]
passHostHeader = true
[frontends.docservice.headers.customrequestheaders]
- X-Forwarded-Host = "{{TRAEFIK_HOST}}/documentserver-virtual-path"
+ X-Forwarded-Prefix = "/documentserver-virtual-path"
[frontends.docservice.routes.vpath]
rule = "PathPrefixStrip:/documentserver-virtual-path/"
\ No newline at end of file