deimos
(deimos)
June 15, 2020, 4:30am
1
I changed static file generators and domain names. The old site format was old.domain/YYYY/MM/DD/title-here. The new site format is new.domain/title-here. I’m trying to use a regexp to grab the “title-here” part and redir to the new url.
in pseudo code, this is what I want:
request comes in for https://old.domain/2020/06/14/sample-title-here
caddy rewrites and redirects to https://search.new.domain/?sample-title-here
Here’s what I have, but doesn’t work:
old.domain {
rewrite {
r ^/(\d+)/(\d+)/(\d+)/(.*)
to https://search.new.domain?{4}
}
}
I’m assuming {4} matches the (.*) which is what I want.
Failed attempts
I’ve tried a straight regexp to redir. like this
rewrite {
r ^/(\d+)/(\d+)/(\d+)/(.*)
to redir https://search.new.domain?{4}
I’ve tried the stanza above and have it call {1}
And I’ve tried straight redir to no avail.
Thanks for the help in advance.
You’re looking for the redir
directive: https://caddyserver.com/v1/docs/redir
FYI, Caddy v1 is no longer under active maintenance, you should consider moving to Caddy v2.
deimos
(deimos)
June 15, 2020, 7:13am
3
Thanks. I started with redir alone, but couldn’t get redir to handle path rewriting via regexp.
migrating to v2 is on my to do list once v2.1 is released.
deimos
(deimos)
June 16, 2020, 5:35am
4
Earlier today, I started with this.
I’m still missing something around regex:
redir 302 {
if {path} match ^/(\d+)/(\d+)/(\d+)/(.*)
/ https://search.new.domain?q=old.domain+{path}
}
This is silly because everything at the old domain will match that regex, so i could just as easily do:
redir / https://search.new.domain?q=old.domain+{path} 302
Except, that’s not going to work because the search engine is looking for the {4} equivalent from
^/(\d+)/(\d+)/(\d+)/(.*)
After lots of experimentation, I arrive at this:
old.domain {
redir /feed https://new.domain/feed.xml 301
rewrite / {
r ^/(\d+)/(\d+)/(\d+)/(.*)
to {4}
}
redir / https://search.new.domain/?q=site%3Aold.domain+{4}
}
It works, it’s not fast at all, but it’s working.
ta-da.
I look forward to re-writing my config with v2.1 soon.
system
(system)
Closed
July 15, 2020, 4:30am
5
This topic was automatically closed after 30 days. New replies are no longer allowed.