AMP验证器说“除了特定形式外,不允许使用标签'脚本'。”。
现在我知道这个标签'script'是由newrelic_rpm自动创建的。
我的问题是如何在AMP页面上禁用newrelic_rpm。
我的AMP页面的网址类似于http://example.com/foo/bar.amp
。
所以我尝试了这样的设置config / newrelic.yml:
common: &default_settings
license_key: foobarfoobarfoobarfoobar
app_name: Foobar
rules.ignore_url_regexes: ["amp", ".*amp"]
development:
<<: *default_settings
app_name: FooBar (Development)
developer_mode: true
但它不起作用。
我的项目环境:
答案 0 :(得分:7)
我做了同样的事情。对@ Awjecc回答的小调整
ApplicationController < ActionController::Base
before_action :ignore_newrelic, :if => :amp_request?
...
private
def ignore_newrelic
NewRelic::Agent.ignore_transaction
NewRelic::Agent.ignore_apdex
NewRelic::Agent.ignore_enduser
end
def amp_request?
request.format.try(:amp?)
end
end
答案 1 :(得分:4)
我解决了自己。
application_controller.rb
class ApplicationController < ActionController::Base
before_action :before_amp,
if: -> { request.path_parameters[:format] == 'amp' }
private
def before_amp
NewRelic::Agent.ignore_transaction
NewRelic::Agent.ignore_apdex
NewRelic::Agent.ignore_enduser
end
end
对于遇到同样情况的人,我会保留这个问题。