我正在进行一些性能增强,并且遇到了.htaccess
文件可以(并且应该)汇总到httpd.conf
的建议。
如果您有权访问httpd主服务器配置文件,则应该完全避免使用.htaccess文件。使用.htaccess文件会降低Apache http服务器的速度。
作为我最初探索的一部分,我只是在我的虚拟主机配置中包含根.htaccess
文件,以便稍后对其进行整理。
大多数情况下它似乎有效,而且这是指令:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.(jpg|jpeg|png|gif|ico|swf|bmp)$ - [L,R=404,NC]
不幸的是,我们在.htaccess
目录中还有一个/images
文件,其中包含以下指令:
ErrorDocument 404 /images/notfound.gif
用“找不到”的图像替换任何404图像。图像。
是否可以在根.htaccess
内重新创建此行为?最终,这将包含在虚拟主机配置中。
我尝试使用以下内容,但在投出500错误时并不感到惊讶:
ErrorDocument images/404 /images/notfound.gif
答案 0 :(得分:2)
您可以在虚拟主机.conf或全局httpd.conf(aka apache2.conf)文件中执行此操作。这里重要的一点是你只为你的/ images /目录做这件事,否则你会在任何404错误中得到这个notfound.gif。
e.g。对于httpd.conf或Virtualhost
<Location /images>
ErrorDocument 404 /images/notfound.gif
</Location>
您也可以使用目录指令
<Directory /absolute/path/to/images>
ErrorDocument 404 /images/notfound.gif
</Directory>
如果您的服务器上只有一个网站可以将其放在httpd.conf中,但更好的解决方案是Virtualhost配置。
ErrorDocument images/404 /images/notfound.gif
语法错误,请参阅:https://httpd.apache.org/docs/2.4/custom-error.html