https://bz.apache.org/bugzilla/show_bug.cgi?id=65425

            Bug ID: 65425
           Summary: Rewrite with directory with wildcard vs no wildcard
           Product: Apache httpd-2
           Version: 2.4.38
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: mod_rewrite
          Assignee: bugs@httpd.apache.org
          Reporter: lampacz+apac...@gmail.com
  Target Milestone: ---

Is some diference with rewrite with wildcard directory? - "strip per-dir
prefix" is not applied

<Directory /home/xxx/www/test/www>
  RewriteEngine On
  RewriteRule ^cache([0-9]+)/(.*)$ /$2 [L,END]
</Directory>

is rewrited to:

2021-07-02 15:21:52.396265 [rewrite:trace3] [pid 23003] mod_rewrite.c(483):
[client 127.0.0.1:48632] 127.0.0.1 - -
[test.xxx/sid#7fca314cbf38][rid#7fca32e010a0/initial] [perdir
/home/xxx/www/test/www/] add path info postfix:
/home/xxx/www/test/www/cache1234 ->
/home/xxx/www/test/www/cache1234/gen/js/js.js
2021-07-02 15:21:52.396307 [rewrite:trace3] [pid 23003] mod_rewrite.c(483):
[client 127.0.0.1:48632] 127.0.0.1 - -
[test.xxx/sid#7fca314cbf38][rid#7fca32e010a0/initial] [perdir
/home/xxx/www/test/www/] strip per-dir prefix:
/home/xxx/www/test/www/cache1234/gen/js/js.js -> cache1234/gen/js/js.js
2021-07-02 15:21:52.396315 [rewrite:trace3] [pid 23003] mod_rewrite.c(483):
[client 127.0.0.1:48632] 127.0.0.1 - -
[test.xxx/sid#7fca314cbf38][rid#7fca32e010a0/initial] [perdir
/home/xxx/www/test/www/] applying pattern '^cache([0-9]+)/(.*)$' to uri
'cache1234/gen/js/js.js'
2021-07-02 15:21:52.396332 [rewrite:trace2] [pid 23003] mod_rewrite.c(483):
[client 127.0.0.1:48632] 127.0.0.1 - -
[test.xxx/sid#7fca314cbf38][rid#7fca32e010a0/initial] [perdir
/home/xxx/www/test/www/] rewrite 'cache1234/gen/js/js.js' -> '/gen/js/js.js'
2021-07-02 15:21:52.396343 [rewrite:trace2] [pid 23003] mod_rewrite.c(483):
[client 127.0.0.1:48632] 127.0.0.1 - -
[test.xxx/sid#7fca314cbf38][rid#7fca32e010a0/initial] [perdir
/home/xxx/www/test/www/] trying to replace context docroot
/home/xxx/www/test/www with context prefix 
2021-07-02 15:21:52.396350 [rewrite:trace1] [pid 23003] mod_rewrite.c(483):
[client 127.0.0.1:48632] 127.0.0.1 - -
[test.xxx/sid#7fca314cbf38][rid#7fca32e010a0/initial] [perdir
/home/xxx/www/test/www/] internal redirect with /gen/js/js.js [INTERNAL
REDIRECT]

But 

<Directory /home/xxx/www/*/www>
  RewriteEngine On
  RewriteRule ^cache([0-9]+)/(.*)$ /$2 [L,END]
</Directory>

is rewrited to:
2021-07-02 15:37:06.919526 [rewrite:trace3] [pid 24538] mod_rewrite.c(483):
[client 127.0.0.1:48710] 127.0.0.1 - -
[test.xxx/sid#7f475140ff38][rid#7f47518c00a0/initial] [perdir
/home/xxx/www/*/www/] add path info postfix: /home/xxx/www/test/www/cache1234
-> /home/xxx/www/test/www/cache1234/gen/js/js.js
2021-07-02 15:37:06.919571 [rewrite:trace3] [pid 24538] mod_rewrite.c(483):
[client 127.0.0.1:48710] 127.0.0.1 - -
[test.xxx/sid#7f475140ff38][rid#7f47518c00a0/initial] [perdir
/home/xxx/www/*/www/] applying pattern '^cache([0-9]+)/(.*)$' to uri
'/home/xxx/www/test/www/cache1234/gen/js/js.js'
2021-07-02 15:37:06.919590 [rewrite:trace1] [pid 24538] mod_rewrite.c(483):
[client 127.0.0.1:48710] 127.0.0.1 - -
[test.xxx/sid#7f475140ff38][rid#7f47518c00a0/initial] [perdir
/home/xxx/www/*/www/] pass through /home/xxx/www/test/www/cache1234

Thus rewrite must be updated to:

<Directory /home/xxx/www/*/www>
  RewriteEngine On
  RewriteRule /cache([0-9]+)/(.*)$ /$2 [L,END]
</Directory>

then is rewrited to:
2021-07-02 15:19:50.251789 [rewrite:trace3] [pid 22837] mod_rewrite.c(483):
[client 127.0.0.1:48618] 127.0.0.1 - -
[test.xxx/sid#7fdd2c614f38][rid#7fdd2caac0a0/initial] [perdir
/home/xxx/www/*/www/] add path info postfix: /home/xxx/www/test/www/cache1234
-> /home/xxx/www/test/www/cache1234/gen/js/js.js
2021-07-02 15:19:50.251835 [rewrite:trace3] [pid 22837] mod_rewrite.c(483):
[client 127.0.0.1:48618] 127.0.0.1 - -
[test.xxx/sid#7fdd2c614f38][rid#7fdd2caac0a0/initial] [perdir
/home/xxx/www/*/www/] applying pattern '/cache([0-9]+)/(.*)$' to uri
'/home/xxx/www/test/www/cache1234/gen/js/js.js'
2021-07-02 15:19:50.251852 [rewrite:trace2] [pid 22837] mod_rewrite.c(483):
[client 127.0.0.1:48618] 127.0.0.1 - -
[test.xxx/sid#7fdd2c614f38][rid#7fdd2caac0a0/initial] [perdir
/home/xxx/www/*/www/] rewrite '/home/xxx/www/test/www/cache1234/gen/js/js.js'
-> '/gen/js/js.js'
2021-07-02 15:19:50.251870 [rewrite:trace2] [pid 22837] mod_rewrite.c(483):
[client 127.0.0.1:48618] 127.0.0.1 - -
[test.xxx/sid#7fdd2c614f38][rid#7fdd2caac0a0/initial] [perdir
/home/xxx/www/*/www/] trying to replace context docroot /home/xxx/www/test/www
with context prefix 
2021-07-02 15:19:50.251879 [rewrite:trace1] [pid 22837] mod_rewrite.c(483):
[client 127.0.0.1:48618] 127.0.0.1 - -
[test.xxx/sid#7fdd2c614f38][rid#7fdd2caac0a0/initial] [perdir
/home/xxx/www/*/www/] internal redirect with /gen/js/js.js [INTERNAL REDIRECT]

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscr...@httpd.apache.org
For additional commands, e-mail: bugs-h...@httpd.apache.org

Reply via email to