fix(nginx): fix broken redirects and multi-hop chains#2313
fix(nginx): fix broken redirects and multi-hop chains#2313
Conversation
TC-MO
commented
Mar 5, 2026
- Fix 27 redirect destinations pointing to 404 pages (monitoring sub-pages, proxy examples, get-most-of-actors sub-pages, testing- and-maintenance, analyze-pages-and-fix-errors, scrape-with-sitemaps)
- Remove 2 unreachable duplicate rewrite rules (same source pattern appearing twice with different destinations — first match always won)
- Collapse ~80 multi-hop redirect chains into single hops: access- rights → collaboration, actors sub-pages, tutorials, development section restructure, data-collection → scraping-basics-javascript
- Fix 27 redirect destinations pointing to 404 pages (monitoring sub-pages, proxy examples, get-most-of-actors sub-pages, testing- and-maintenance, analyze-pages-and-fix-errors, scrape-with-sitemaps) - Remove 2 unreachable duplicate rewrite rules (same source pattern appearing twice with different destinations — first match always won) - Collapse ~80 multi-hop redirect chains into single hops: access- rights → collaboration, actors sub-pages, tutorials, development section restructure, data-collection → scraping-basics-javascript Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Preview for this PR was built for commit |
b3f86f9 to
e96c70a
Compare
|
Preview for this PR was built for commit |
e96c70a to
b3f86f9
Compare
|
Preview for this PR was built for commit |
|
@B4nan I guess the branch has conflicts now from your last PR but other than that, is there any way apart from YOLO'ing it to test those changes? |
|
I don't think those conflicts are from my PR (at least if we are talking about those from today), I haven't touched the redirects. Anyway, to truly test this, you'd have to run the whole thing locally, which is surely a bit too much. |
|
Fair enough, I'll resolve the conflicts and if I could get at least sanity check for that after I would greatly appreciate it |
|
Yeah, let's just not merge it late afternoon and leave that for morning instead. |
Resolve conflict in nginx.conf: keep branch's chain-collapsed destinations for get-most-of-actors redirects (actor-marketing-playbook), but use master's monetization destination (/platform/actors/publishing/monetize) from PR #2312. All master additions preserved (security backslash block, client JS/Python restructuring redirects). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Preview for this PR was built for commit |
|
@B4nan all conflicts resolved |
B4nan
left a comment
There was a problem hiding this comment.
This is what claude found, I'd fix 1. and merge, the rest can be a follow up.
│ # │ Severity │ File:Line │ Description │
├─────┼──────────┼──────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 1 │ Low │ nginx.conf (new line │ Fragment anchor #what-is-a-compute-unit-cu does not exist. The heading is ### What is a compute unit which generates #what-is-a-compute-unit. The -cu suffix has no │
│ │ │ ~167) │ source. │
├─────┼──────────┼──────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 2 │ Low │ nginx.conf (new line │ Fragment anchor #paid-actors does not exist on /platform/actors/running/actors-in-store. That page has headings: "Pricing models", "Pay per event", "Pay per result", │
│ │ │ ~43) │ "Pay per usage", "Rental Actors", etc. The page is still reached correctly, but the fragment won't scroll to a specific section. │
├─────┼──────────┼──────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 3 │ Info │ nginx.conf (various) │ 12 pre-existing multi-hop chains remain unfixed (e.g. /scraping/cheerio-scraper -> /platform/tutorials/apify-scrapers/cheerio-scraper -> │
│ │ │ │ /academy/apify-scrapers/cheerio-scraper). These are out of scope for this PR but could be addressed in a follow-up. │
├─────┼──────────┼──────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 4 │ Info │ nginx.conf (new lines │ Four redirects use very generic fallback destinations (/ or /academy) for pages that have no close equivalent. This is a reasonable choice when no specific replacement │
│ │ │ ~20, 83, 153, 291) │ exists, but results in a poor user experience for anyone following the old URL. │
└─────┴──────────┴──────────────────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘