aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack')
-rwxr-xr-xactionpack/lib/action_controller/request.rb2
-rw-r--r--actionpack/test/controller/request_test.rb5
2 files changed, 6 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/request.rb b/actionpack/lib/action_controller/request.rb
index 16117a6079..75b7c62378 100755
--- a/actionpack/lib/action_controller/request.rb
+++ b/actionpack/lib/action_controller/request.rb
@@ -78,7 +78,7 @@ module ActionController
end
def path_info
- env['PATH_INFO']
+ (/^(.*)\.html$/ =~ env['PATH_INFO']) ? $1 : env['PATH_INFO']
end
def protocol
diff --git a/actionpack/test/controller/request_test.rb b/actionpack/test/controller/request_test.rb
index 82a1d6bb70..513828462e 100644
--- a/actionpack/test/controller/request_test.rb
+++ b/actionpack/test/controller/request_test.rb
@@ -58,6 +58,11 @@ class RequestTest < Test::Unit::TestCase
@request.env["PATH_INFO"] = "/path/of/some/uri"
assert_equal "/path/of/some/uri", @request.path_info
assert_equal "/path/of/some/uri", @request.path
+
+ # PATH_INFO actually has a .html suffix on many servers. But we don't want Rails to see the .html part.
+ @request.env["PATH_INFO"] = "/path/of/some/uri.html"
+ assert_equal "/path/of/some/uri", @request.path_info
+ assert_equal "/path/of/some/uri", @request.path
end
def test_host_with_port