我最近把我的CentOS 7机器上的Web服务器从Apache切换到了Nginx。 我使用软件在我的计算机上截取屏幕截图并将其上传到服务器供公众查看。 最初,它在Apache上运行良好 – 但是,现在我遇到了一个问题,在这个问题上,nginx将为web服务器上的一些.png图像提供404错误。 我提到了一个非常类似的问题,但是在我自己的问题的背景下,我没有办法解决这个问题。 我有一个下面的图像服务器的服务器块的片段。 server { listen 80; server_name imageserver.example.com; root /usr/share/nginx/imageserver.example.com/public_html; access_log imageserver.example.com/logs/imageserver.example.com_access.log; error_log imageserver.example.com/logs/imageserver.example.com_error.log crit; location / { index index.html index.htm; } location ~* \.png { root imageserver.example.com/public_html/u/; expires max; add_header Pragma public; add_header Cache-control "public, must revalidate, proxy-revalidate"; } } 一个示例链接是这个图像 。 我已经确认该文件存在于服务器上,并具有以下权限。 $ lsa 7b724394b851299c68b15f1172f158c6.png -rw-rw-r–. 1 […]
在我的.htaccess我有 ErrorDocument 404 http://foo.com/404.html 它的工作原理,我从任何文件找不到错误恢复,并显示404页面,但它的工作方式是redirect错误的URI使用301到我的404.html页面。 这是不好的,因为search引擎和爬虫不会看到一个404代码,而是一个301代码,并不会从其索引中清除已删除的页面。 我可以让Apache提供这个404页面的内容文件没有发现错误,但仍然返回404代码而不是301?
我有很多热门链接的图片。 这是好的,但由于URL的变化,一些不再存在。 是否有可能显示像imageshack“图像未find错误”图片只有当图像被请求,他们不存在? 现在我有404页面,但我仍然想保持这一点。 我可以把一个简单的JPG / GIF图片说“找不到”,并显示只有当图片没有find。 说实话我不知道从哪里开始 我的path可以是/ level1 / to /level1/…./blah/oldpicture.jpg中的任何东西,大多数图片都是由Gallery2和url_rewrite渲染的,所以他们实际上去了php。 location / { try_files $uri $uri /main.php?url=$1; #rewrite ^/(.+)$ /main.php?url=$1 last; } 我也使用这个在PHP FIPconfiguration部分 fastcgi_intercept_errors on; # to support 404s for PHP files not found 我可以通过编码尝试,但这是第二种select。
我正在尝试使用mod_jk Tomcat Clustering几个月,到目前为止没有那么糟糕,但在部署期间面临一个问题。 我正在使用FarmDeployer将WAR复制并部署到集群中的其他节点,但大部分时间WAR未正确部署,从而使页面出现404错误。 即使在删除爆炸的战争目录并再次使用tomcat提取WAR之后,浏览器仍然无法渲染实际的站点,直到我重新启动/停止该特定节点上的tomcat服务(当然, http:// node-ip / myapp工作如果重新部署的战争,而不是http://site1.mydomain.net一次呈现404页)。 而且我认为这个问题是与浏览器相关的(尝试所有的浏览器),当在404错误之后重新部署时在其他计算机上呈现的页面。 我也尝试fail_on_status ,所以它把节点错误阶段,曾经呈现404 HTTP状态,并redirect到其他节点,但在我的testing,我发现它完全把这些节点错误状态,没有请求发送到这些节点,直到重新启动他们正在回来工作。 负载平衡器上的Workers.properties: workers.tomcat_home=/usr/share/tomcat workers.java_home=/usr/lib/jvm/java-6-openjdk ps=/ worker.list=cluster,balancer1,status worker.balancer1.port=8009 worker.balancer1.host=localhost worker.balancer1.type=ajp13 worker.balancer1.lbfactor=2 worker.balancer1.cache_timeout=20 worker.balancer1.socket_timeout=20 #worker.balancer1.fail_on_status=-404,-503 worker.web1.port=8009 worker.web1.host=192.168.1.8 worker.web1.type=ajp13 worker.web1.lbfactor=4 worker.web1.redirect=web2 worker.web1.cache_timeout=20 worker.web1.socket_timeout=20 #worker.web1.fail_on_status=-404,-503 worker.web2.port=8009 worker.web2.host=192.168.1.9 worker.web2.type=ajp13 worker.web2.lbfactor=4 worker.web2.redirect=web1 worker.web2.cache_timeout=20 worker.web2.socket_timeout=20 #worker.web2.fail_on_status=-404,503 worker.cluster.type=lb worker.cluster.balance_workers=web1,web2,balancer1 worker.cluster.sticky_session=True worker.cluster.sticky_session_force=False # Status worker for managing load balancer worker.status.type=status 任何人有任何想法跳过404错误节点,而不是打其他正确部署的节点? 至less在configuration中有任何提示,以便在面对启用了stickey […]
我有我的asp.net web application to run on a shared hosting ….当我通过firebug检查,我发现WebResource.axd和ScriptResource.axd返回404没有发现…. WebResource.axd?d=rpqvYNSuvgzlFHiQAGNqVg2&t=633861392532362500 – 404 not found ScriptResource.axd?d=QH2WS5PI-hjjDYgFwsGU2R-Ze_5jnx-rARAoYxg3JBJyMBl78kd2glg_Q2erkzpacmOcEqLLKqaqHoUVJifLezkXnAGUAWVurxXH feAY8yI1&t=ffffffff873865f3 – 404 not found 然后我在stackoverflow中search,发现这个链接, ASP.NET Web应用程序 – WebResource.axd和ScriptResource.axd文件 – 加载时间问题 它没有帮助我…我在共享主机…我使用asp.net 3.5 sp1和sqlserver2005 .. I dont use any ajax libraries…
我使用git部署了一个Drupal网站(好吧,开发人员部署它,我试图避免麻烦),因此网站在文档根目录.git有一个目录.git和一个文件.gitignore 。 目前对文件的权限足以导致nginx返回一个403 Forbidden错误,如果这些文件在Web浏览器中被访问。 但是,我想nginx完全否认这个文件和目录的存在,如果有人试图在浏览器中访问它们,则返回404。 但是等等,还有更多! 我真正想要发生的事情是浏览器接收由Drupal生成的404错误页面。 在Drupal的admin/settings/error-reporting页面中,我看到404错误正在发送到http://www.example.com/ 404error ,这是一个Drupal节点,其中包含一个更有趣的404页面。 我的nginxconfiguration中已经包含了一个将请求传递给Drupal的@drupal块。 所以我想将请求传递给Drupal,但是我不希望Drupal尝试为现有的静态文件提供服务,而是仅仅为404页面服务。 location @drupal { rewrite ^/(.+)$ /index.php?q=$1 last; } 不幸的是,Google在这里并没有太大的帮助。 大多数人似乎有相反的问题。 如何让.git目录或.gitignore文件中的任何内容发送到Drupal的404页面?
所以我的一个客户在共享环境中使用Yahoo Hosting。 绝对可怕,甚至不能上传.htaccess文件。 他们有一个选项,你可以通过上传一个特定的名字(即404是e404.html)的主目录中的HTML文件来设置自定义错误页面。 问题是Internet Explorer不会redirect到这个自定义错误页面,但所有其他testing过的浏览器(即:谷歌浏览器,Safari浏览器)。 http://help.yahoo.com/l/us/yahoo/smallbusiness/webhosting/editors/editors-16.html 在Internet Explorer中(已testingie7-ie9),用户不会redirect到此自定义错误页面。 相反,他们正在显示一个IE 404错误页面。 那么这个错误页面redirect如何工作呢? 以及如何让IE浏览器使用它。
IIS8.5>站点> mysite>错误页面> 404 select“从静态文件插入内容到错误响应”。 取消选中“尝试以客户端语言返回错误文件”。 input“notfound.html”的path,我已经validation它在那里。 当我访问一个页面,我知道不在那里我得到: The page cannot be displayed because an internal server error has occurred. 为什么我没有得到我的自定义404文件? 我不认为这是一个许可的事情,我试着将“notfound.html”移动到几个地方,其中之一是实际网站wwwroot文件夹,服务于其余的网站。
我在使用Lighttpd的Ubuntu服务器上设置了一些域。 我有通配符域,我希望未使用的子域返回404而不是200,并显示常规域。 这个问题引起了我的注意,因为一些不太经验的search引擎(Bing,百度,mail.ru)索引我的网站与奇怪的子域名。 我在这里发现了同样的问题: apache2上的通配符DNS,VirtualHosts,未使用的子域404 但是我还没有find任何Lighttpd。 我希望www.example.com/*能够301redirect到example.com/* (已经设置) 我希望allUnsetSubdomains.example.com/*返回404以便search引擎和人们了解它不存在。 以下是我的vhost.conf文件中的相关数据: $HTTP["host"] =~ "^www\.(.*)$" { url.redirect = ( "^/(.*)" => "http://%1/$1" ) } # lots of other domains # $HTTP["host"] =~ "example.com$" { server.document-root = "/var/www/example.com" server.errorlog = "/var/log/lighttpd/example.com-error.log" accesslog.filename = "/var/log/lighttpd/example.com-access.log" server.error-handler-404 = "/index.php" } # lots more domains # 理想情况下,我希望能够有一个通用的规则,即服务器上所有域的所有未使用的子域返回404 ,就像wwwredirect一样。 我真的不明白Lighttpdconfiguration文件或正则expression式很好。
我对此绝对陌生,所以请耐心等待。 我在Lighttpd上安装了MediaWiki,没有任何问题,除了当我尝试跟踪redwerks关于如何缩短Lighttpd上MediaWiki的url时,我总是感到非常沮丧。这就是我所做的: 在lighttpd.conf : ## MediaWiki url.rewrite-once = ( "^/wiki(/|$)" => "/w/index.php", "^/$" => "/w/index.php", ) url.rewrite-if-not-file = ( "^/w/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$" => "/w/thumb.php?f=$1&width=$2", "^/w/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$" => "/w/thumb.php?f=$1&width=$2&archived=1", ) 在LocalSettings.php上: $wgScriptPath = "/w"; $wgScriptExtension = ".php"; $wgArticlePath = "/wiki/$1"; $wgUsePathInfo = true; 帮助是如此赞赏,我可能会很快开始哭泣。