Я делаю DNS-сервер блокировки рекламы, который перенаправляет все рекламные домены на экземпляр Apache . Так что-то вроде
www.addomain.com
перенаправляется на
dnsserver.localnetwork
Тем не менее, иногда я сталкиваюсь с ссылками, как
www.addomain.com/some_ad
который перенаправляется на
dnsserver.localnetwork/some_ad
который даже не существует и, следовательно, вызывает 404
ошибку.
Я надеялся, что будет какой-то способ заставить Apache работать index.html
, независимо от фактического запроса. В противном случае, если у вас есть альтернативное решение, не связанное с Apache, я тоже за это.
Ответы:
В Ubuntu убедитесь, что
mod_alias
включен:Тогда в вашей директиве VirtualHost вы можете использовать
AliasMatch
.Пример:
Теперь все перенаправлено на
/index.html
.источник
Вам нужно переписать правило в вашем файле .htaccess. Должно работать что-то вроде следующего:
источник
Другой более простой вариант - изменить страницу ошибки 404 на статическую, которую вы хотите показывать для всех страниц вашего сайта. Итак, поищите эту строку (или что-то похожее) в ваших конфигурационных файлах apache2:
И измените "/errors/not_found.html" на: "/index.html"
источник