如何在 Ubuntu 16.04 上设置 apache2.conf 以使错误消息不会缓存在页面的 URL 下?

如何在 Ubuntu 16.04 上设置 apache2.conf 以使错误消息不会缓存在页面的 URL 下?

最近,我在 Ubuntu Linux 16.04 上设置了 /etc/apache2/apache2.conf,以便 Web 浏览器用户可以使用任何浏览器运行 127.0.0.1/login.aspx,只要我们运行一台 mod_mono_server4 服务器和 1 个或多个 apache2 服务实例。

本文

考虑一个网络浏览器在网络不可用时尝试加载页面。浏览器将收到指示问题的错误代码,并且可能会向用户显示此错误消息,而不是请求的页面。但是,浏览器将错误消息放入页面缓存中是不正确的,因为这会导致当用户尝试加载同一页面时再次显示错误 - 即使在网络恢复后也是如此。错误消息不得缓存在页面的 URL 下;在浏览器能够成功加载页面之前,每当用户尝试加载页面时,浏览器都必须进行新的尝试。

负缓存的一个令人沮丧的方面是,用户可能付出很大的努力来解决问题,然后在确定并消除根本原因后,错误仍然没有消失。

我应该如何在 Ubuntu 16.04 上设置 /etc/apache2/apache2.conf 以便错误消息不会缓存在页面的 URL 下?

这是我当前在 Ubuntu 16.04 上的 /etc/apache2/apache2.conf":

DocumentRoot "/home/vendors/DevelopmentX64/My-Web-App/My-Web-App"

ServerName localhost LoadModule mono_module /usr/lib/apache2/modules/mod_mono.so

<Directory /home/vendors/DevelopmentX64/My-Web-App/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted </Directory>

Alias "/" "/home/vendors/DevelopmentX64/My-Web-App/My-Web-App"


AddHandler mono .aspx .ascx .asax .ashx .config .cs .asmx .axd MonoApplications "/:/home/vendors/DevelopmentX64/My-Web-App/My-Web-App"

真诚欢迎并感谢任何帮助。

答案1

我使用 apache 服务器的AliasMatch功能来匹配 PCRE 正则表达式,如 $1.aspx 前面带有DocumentRoot, /home/venkat/DevelopmentX64/HVR-Web-App/HVR-Web-App。这是我对/etc/apache2/httpd.confor 的更改apache2.conf

AliasMatch \.(aspx|jpg|gif|png)$  /home/venkat/DevelopmentX64/HVR-Web-App/HVR-Web-App$1.aspx

MonoDebug true
MonoAutoApplication disabled
AddHandler mono .aspx .ascx .asax .ashx .config .cs .asmx .axd
MonoApplications "/:/home/venkat/DevelopmentX64/HVR-Web-App/HVR-Web-App"
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# ServerLimit: maximum value for MaxClients for the lifetime of the server
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule prefork.c>
StartServers       4
MinSpareServers    3
MaxSpareServers   10
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  10000
</IfModule>

相关内容