在层次结构中任意位置重定向文件

时间:2017-02-24 14:02:50

标签: .htaccess redirect mraid

因此,显然有些移动广告会将对mraid.js的请求放入其页面加载中。这让我觉得很荒谬,但我对此并没有太多帮助。它看起来像这样:

如果页面是/某事,则请求以/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的任何想法?

1 个答案:

答案 0 :(得分:0)

经过一番搔痒之后,我想通了。这三件事的组合为我解决了这个问题。首先,它必须匹配模式与^(。*),然后[L,R = 301]。 L代表"这是最后一条规则",R代表"它是永久301重定向。"

RewriteRule ^(.*)/mraid\.js$ /mraid\.js [L,R=301]