I would use a plain rewrite map for this case. On Fri, Dec 9, 2022 at 8:50 PM BohwaZ <p...@bohwaz.net> wrote:
> Hi everyone, > > I'm wondering if it's possible to rewrite the current URL to a MD5 hash > of the request URL. > > What I'm trying to do is serve "/cache/[MD5 hash of URL].html" when a > request on "/URL" is done. This is for caching dynamic content: if the > MD5 hash file exists, then serve the static file, if not, the > next RewriteRule will call the script to generate the cache. > > I tried this: > > <If "-z %{QUERY_STRING} && %{REQUEST_METHOD} =~ /GET|HEAD/ && -f > '%{DOCUMENT_ROOT}/cache/%{md5:REQUEST_URI}.html'"> > > It works, great. > > But then I can't figure out how to actually serve this file. > > I tried this: > > RewriteEngine On > RewriteRule .* "/var/www/cache/%{md5:REQUEST_URI}.html" > > But it doesn't work, as "RewriteRule" doesn't seem to recognize the md5 > function. I guess it doesn't handle all expressions, and if my guess is > righ the %{name:...} syntax is related to rewrite maps. > > When doing this, Apache is trying to request "/var/www/cache/.html". > > Is there another way of doing this? > > I thought of setting a variable with SetEnvIfExpr, or with RewriteCond, > but they're not designed for that and I don't think that's possible. > > If anyone has an idea, please help me :) > > Thank you. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org > For additional commands, e-mail: users-h...@httpd.apache.org > >