Page MenuHomePhabricator

Fix Phriction document previews for the root document ("/") with Apache option "MergeSlashes On"
ClosedPublic

Authored by epriestley on Jul 26 2021, 6:17 PM.
Tags
None
Referenced Files
F14091813: D21708.id51731.diff
Mon, Nov 25, 2:31 AM
Unknown Object (File)
Thu, Oct 31, 2:07 AM
Unknown Object (File)
Oct 21 2024, 9:38 AM
Unknown Object (File)
Oct 20 2024, 10:16 PM
Unknown Object (File)
Oct 16 2024, 6:26 AM
Unknown Object (File)
Sep 16 2024, 9:06 AM
Unknown Object (File)
Sep 3 2024, 8:37 AM
Unknown Object (File)
Aug 28 2024, 11:15 AM
Subscribers
None

Details

Summary

Ref T13662. I ran into this while trying to reproduce the mention issue discussed there.

Currently, the root document (with slug "/") attempts to preview using the URI /phriction/preview// (with two // at the end). This is collapsed into "/phriction/preview/" by Apache if "MergeSlashes On" is configured, which is the default behavior. The route then 404s.

Instead, just use "/phriction/preview/?slug=/" so this endpoint functions properly regardless of the "MergeSlashes" configuration.

Test Plan
  • Configured Apache with "MergeSlashes On" (which is the default behavior).
  • Tried to preview a content edit of the root document in Phriction, which didn't work and generated 404s for "/phriction/preview//" in the console log.
  • Applied patch.
  • Previwed content in Phriction (which now worked properly).
  • Accessed /a//b///c//// and similar with "MergeSlashes On" and "MergeSlashes Off", confirmed that this option controls whether PHP receives a URI with or without merged slashes in "path" after rewriting.

Diff Detail

Repository
rP Phabricator
Branch
phriction1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 25518
Build 35279: Run Core Tests
Build 35278: arc lint + arc unit

Event Timeline

epriestley edited the test plan for this revision. (Show Details)

This also fixes root document preview in lighttpd, which seems to have mandatory slash merging.

This revision is now accepted and ready to land.Aug 1 2021, 6:08 PM