Я использую гем rack-rewrite , чтобы переписать мои url-адреса в приложении Rails.
Одна из проблем, которых я хочу избежать, - это наличие завершающего периода после 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?