mirror of
https://github.com/discourse/discourse.git
synced 2025-05-25 00:32:52 +08:00
FEATURE: permalink normalization
Optionally allow admins to apply regex based normalization to permalinks prior to matching. This allows us to drop query string, or cleanly ignore slugs, etc.
This commit is contained in:
@ -10,6 +10,17 @@ describe PermalinksController do
|
||||
expect(response.status).to eq(301)
|
||||
end
|
||||
|
||||
it "should apply normalizations" do
|
||||
SiteSetting.permalink_normalizations = "/(.*)\\?.*/\\1"
|
||||
|
||||
permalink = Fabricate(:permalink, url: '/topic/bla', external_url: '/topic/100')
|
||||
|
||||
get :show, url: permalink.url, test: "hello"
|
||||
|
||||
expect(response).to redirect_to('/topic/100')
|
||||
expect(response.status).to eq(301)
|
||||
end
|
||||
|
||||
it 'return 404 if permalink record does not exist' do
|
||||
get :show, url: '/not/a/valid/url'
|
||||
expect(response.status).to eq(404)
|
||||
|
Reference in New Issue
Block a user