Tworzę reklamę blokującą serwer DNS, który przekierowuje wszystkie domeny reklamowe do instancji Apache . Coś w stylu
www.addomain.com
zostaje przekierowany do
dnsserver.localnetwork
Czasami jednak spotykam linki bardziej podobne
www.addomain.com/some_ad
który zostaje przekierowany do
dnsserver.localnetwork/some_ad
który nawet nie istnieje, a zatem powoduje 404
błąd.
Miałem nadzieję, że będzie jakiś sposób, aby Apache służył index.html
, niezależnie od rzeczywistego żądania. W przeciwnym razie, jeśli masz alternatywne rozwiązanie, które nie obejmuje Apache, ja też jestem na to gotowa.
Odpowiedzi:
W Ubuntu upewnij się, że
mod_alias
jest włączony:Następnie możesz użyć dyrektywy VirtualHost
AliasMatch
.Przykład:
Teraz wszystko zostaje przekierowane na
/index.html
.źródło
Potrzebujesz reguły przepisywania w pliku .htaccess. Powinno działać coś takiego:
źródło
Inną prostszą opcją byłaby zmiana strony błędu 404 na stronę statyczną, którą chcesz wyświetlać dla wszystkich stron w witrynie. Więc poszukaj tej linii (lub czegoś podobnego) w plikach konfiguracyjnych apache2:
I zmień „/errors/not_found.html” na: „/index.html”
źródło