我正在制作一个广告阻止 DNS 服务器,它将所有广告域重定向到一个Apache实例。所以像
www.addomain.com
Run Code Online (Sandbox Code Playgroud)
被重定向到
dnsserver.localnetwork
Run Code Online (Sandbox Code Playgroud)
但是,偶尔我会遇到更像的链接
www.addomain.com/some_ad
Run Code Online (Sandbox Code Playgroud)
被重定向到
dnsserver.localnetwork/some_ad
Run Code Online (Sandbox Code Playgroud)
它甚至不存在,因此会引发404
错误。
index.html
无论实际请求如何,我都希望有某种方法可以使 Apache serve 。否则,如果您有不涉及 Apache 的替代解决方案,我也愿意。
Eve*_*mbH 19
在 Ubuntu 中,确保mod_alias
已启用:
sudo a2enmod alias
Run Code Online (Sandbox Code Playgroud)
然后在您的 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>
Run Code Online (Sandbox Code Playgroud)
现在一切都被重定向到/index.html
.
您需要在 .htaccess 文件中设置重写规则。像下面这样的东西应该工作:
RewriteRule ^*$ http://www.addomain.com/index.html [R=301,NC,L]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
25339 次 |
最近记录: |