すべての広告ドメインを Apache のインスタンスにリダイレクトする広告ブロックDNSサーバーを作成しています。のようなもの
www.addomain.com
にリダイレクトされます
dnsserver.localnetwork
しかし、時々私はより多くのリンクに出くわします
www.addomain.com/some_ad
にリダイレクトされます
dnsserver.localnetwork/some_ad
存在しないため、404
エラーが発生します。
実際のリクエストに関係なく、Apacheがindex.html
を提供する何らかの方法があることを望んでいました。それ以外の場合、Apacheを使用しない別のソリューションがある場合は、私もそれをやっています。
Ubuntuでは、 mod_alias
が有効になっていることを確認してください。
Sudo a2enmod alias
次に、VirtualHostディレクティブで AliasMatch
を使用できます。
例:
<VirtualHost *:80>
DocumentRoot /path/to/your/Host
ServerName yourdomain.com
DirectoryIndex index.html
AliasMatch ^/(.*)$ /path/to/your/Host/index.html
<Directory "/path/to/your/Host">
Require all granted
</Directory>
</VirtualHost>
これで、すべてが/index.html
にリダイレクトされます。
.htaccessファイルに書き換えルールが必要です。次のようなものが機能するはずです。
RewriteRule ^*$ http://www.addomain.com/index.html [R=301,NC,L]
もう1つの簡単なオプションは、404エラーページを、サイトのすべてのページに表示する静的ページに変更することです。したがって、Apache2構成ファイルで次の行(または同様の行)を探してください。
ErrorDocument 404 /errors/not_found.html
そして、「/ errors/not_found.html」を「/index.html」に変更します