我正在使用rack-rewrite gem 在 Rails 应用程序中重写我的 url。
我要避免的问题之一是在 TLD 之后有一个尾随期。
http://example.com./foo
^
现在我不能 100% 确定这对 google juice 是否重要,但对于Disqus和我的视频播放器来说确实很重要,它会根据请求的域验证许可证。
我看到的问题是机架环境没有在 SERVER_NAME 变量中显示这个尾随句点。
这是我在请求时在日志中看到的内容http://example.com./foo
:
[RACK ENV]:
{
"GATEWAY_INTERFACE"=>"CGI/1.1",
"PATH_INFO"=>"/foo",
"QUERY_STRING"=>"",
"REMOTE_ADDR"=>"xx.xx.xx.xx",
"REMOTE_HOST"=>"xx.xx.xx.xx",
"REQUEST_METHOD"=>"GET",
"REQUEST_URI"=>"http://example.com/foo",
"SCRIPT_NAME"=>"",
"SERVER_NAME"=>"example.com",
"SERVER_PORT"=>"80",
"SERVER_PROTOCOL"=>"HTTP/1.1",
"HTTP_X_VARNISH"=>"2117759881",
"HTTP_X_REAL_IP"=>"xx.xx.xx.xx",
"HTTP_X_FORWARDED_FOR"=>"xx.xx.xx.xx",
"HTTP_USER_AGENT"=>"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.52.7 (KHTML, like Gecko) Version/5.1.2 Safari/534.52.7",
"HTTP_HOST"=>"example.com"
}
如您所见,没有一个变量.
在域之后包含尾随。
这甚至可以通过 Rack::Rewrite 实现吗?