Перенаправление файла в любую точку иерархии
Так что, по-видимому, некоторые мобильные объявления сбрасывают запрос на 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, кажется, не перехватывает и не перенаправляет, как я ожидаю. Любые идеи о том, как всегда соответствовать mraid.js в URL и передавать его обратно в root?
1 ответ
После того, как я немного почесал голову, я понял это. Это была комбинация всех трех вещей, которые решили это для меня. Сначала нужно было сопоставить шаблон с ^(.*), Затем [L,R=301]. L для "это последнее правило" и R для "это перманентное перенаправление 301".
RewriteRule ^(.*)/mraid\.js$ /mraid\.js [L,R=301]