如何重定向对服务器上不存在的资源的请求?

如何重定向对服务器上不存在的资源的请求?

如何重定向对服务器上没有的资源的请求?我有一个在 ubuntu 14.04 - apache 2.4 上托管的网站,我希望我的网站只接受对服务器上的文件的请求,而其他的则将它们重定向到另一个网站,可以做到吗?!

答案1

在 Apache HTTPD 2.4 中,使用新的 If 指令非常简单,您可以检查文件是否不存在,然后进行相应的重定向,如下所示:

<If "! -f '%{REQUEST_FILENAME}'">
    Redirect / http://example.com/
</If>

这将检查请求是否是一个普通文件并且是否存在,如果不存在,它会将这些请求重定向到 example.com/ 或您指定的任何域。

如果您只需要重定向到其他域而不指定客户端发出的初始请求,则请在 If 中使用此重定向,而不是其他重定向:

RedirectMatch ^ http://example.com/

您可以在 HTTPD 文档中查看有关 If 指令的所有内容:[If][1]

您可以在 HTTPD 文档中查看有关表达式格式的所有信息:[Apache HTTPD 服务器中的表达式][2]

相关内容