Bug 65425 - Rewrite with directory with wildcard vs no wildcard
Summary: Rewrite with directory with wildcard vs no wildcard
Status: NEW
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: mod_rewrite (show other bugs)
Version: 2.4.38
Hardware: PC Linux
: P2 normal (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-07-02 13:46 UTC by lampacz+apache2
Modified: 2021-07-02 13:46 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description lampacz+apache2 2021-07-02 13:46:09 UTC
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]