Перенаправление файла в любую точку иерархии

Так что, по-видимому, некоторые мобильные объявления сбрасывают запрос на 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]
Другие вопросы по тегам