๐Ÿ“š General & Other

Rewriting URL Schemes Without Corrupting the Path

is the correct form, and the anchor is the important part.

sed 's|^http://|https://|' is the correct form, and the anchor is the important part.

Without the anchor you corrupt data

An unanchored s|http://|https://|g also rewrites URLs that appear inside other URLs โ€” redirect trackers and archive links routinely embed a full target URL as a parameter. Rewriting that embedded value changes where the link points, and the result still looks like a valid URL, so nothing flags it.

Protocol-relative URLs are a separate case

//example.com/page inherits the scheme of the page it sits on. It is neither HTTP nor HTTPS in the string, so a scheme rewrite skips it entirely. If a list mixes these in, handle them as their own branch rather than assuming the rewrite covered everything.

The rewrite is a string operation, not a migration

Changing a recorded URL says nothing about whether the server answers on 443. Where it matters, follow up with a request that reports the final status and destination โ€” a list of HTTPS strings pointing at hosts that only serve HTTP is worse than the original, because it now looks correct.

Try it: Convert HTTP to HTTPS on SeoWolf's Notepad.