0

因此,显然一些移动广告会在其页面加载中放弃对 mraid.js 的请求。这对我来说感觉很荒谬,但我对此无能为力。它看起来像这样:

如果页面是 /something,则请求以 /something/mraid.js 的形式出现

但对于 /something/else/mraid.js 之类的情况,这种情况也会继续存在

无论 URL 是什么,它都附加在 mraid.js 上。

我在 .htaccess 文件中添加了如下几行:

RedirectMatch 301 (.*)\mraid.js$ /mraid.js

或者

RedirectMatch 301 ^\mraid.js$ /mraid.js

或者

RewriteCond  %{DOCUMENT_ROOT}/(.*)/mraid.js -f
RewriteRule ^(.*)$ /mraid.js [R=301,L]

希望将它们重定向到全局(和空白)mraid.js 文件。这只是为了加载一个文件以阻止分析中的 404 错误,据我所知,当需要 mraid.js 时,它是从移动广告/应用程序中本地加载的。

但是这些 .htaccess 规则似乎都没有像我预期的那样捕获和重定向。关于如何始终在 URL 中匹配 mraid.js 并将其传递回 root 的任何想法?

4

1 回答 1

0

经过一番摸索后,我想通了。这是为我解决它的所有三件事的组合。首先,它必须用 ^(.*) 匹配模式,然后是 [L,R=301]。L 代表“这是最后一条规则”,R 代表“这是一个永久的 301 重定向”。

RewriteRule ^(.*)/mraid\.js$ /mraid\.js [L,R=301]
于 2017-02-27T03:49:50.130 回答