Articles of apache 2.2

如何使某些虚拟文件夹由iis服务,而其他人则由Apache服务?

我有一个使用PHP编写的站点,它由安装在Linux上的Apache提供服务。 说,它的url是example.com ,它有子文件夹audio , games , photo ,所以用户指向它example.com/photo 。 现在,我正在ASP.Net中编写新的function(例如,查看电影的function),并希望用户可以通过example.com/video访问它。 而IIS的服务是在另一台服务器上看不到的(只有Apache可以直接访问互联网),但是很容易通过内部网从apache到达。 用户会话不重要! 我应该如何configuration它才能有效地工作? 可能我需要安装更多的软件? 我发布了我的解决scheme,据我了解的是Farseeker的意思,但是如果有的话我想听听其他的build议。

如何过滤/redirect进入networking的URL?

我不确定这是否可行,但是我想做的事情如下: 我有一个IP地址(dynamic使用zoneedit.com保持最新状态)。 我有一个运行我的主站点的networking服务器,它是运行Apache的Ubuntu机器。 我也有一个Windows 2008服务器运行另一个网站。 只是为了混淆事物,我也在Windows服务器上运行我的Apache站点的一部分,目前使用proxypassreverse从中获取信息。 它看起来像这样: IP 1.2.3.4 maps to example.com as well as example.org 所有进入端口80的请求都被转发到Apache框,我使用虚拟主机设置代理需要的Windows站点。 所以example.com是一个Apache站点, example.com/mywindowssection mywindowssection是使用proxypassreverse从Apache服务器获取部分站点的Apache服务器。 example.org使用Apache和proxypassreverse获取整个网站。 我希望能够做的是将所有进入我的networking的http请求转发给一台机器,以确定谁应该提供这些内容? 所以: example.com会去Apache机器 example.org会去的Windows机器。 我只是在设置一个Astaro网关(从来没有这样做过,所以需要一段时间configuration)作为我的防火墙,DNS,DHCP等,不知道这是否可以处理它。 我有能力在networking上运行虚拟机,如果这个过程需要一个单独的盒子。 感谢任何和所有的反馈。

redirect301失败,path为目的地

我正在使用大量的redirect301的突然失败,在一个新的networking服务器。 在迁移网站之前,我们正在对新的networking服务器进行预生产testing,但有些网站因500内部服务器错误而失败。 内容,包括数据库和文件,都是从旧的镜像到新的服务器,所以我们可以testing所有的网站是否正常工作。 我将这个问题追溯到mod_alias的redirect语句,该语句用于从.htaccess中将访问者和search引擎从旧内容redirect到新页面。 显然,Apache服务器要求目标是完整的url,包括协议和主机名。 Redirect 301 /directory/ /target/ # Not Valid Redirect 301 /main.html / # Not Valid Redirect 301 /directory/ http://www.example.com/target/ # Valid Redirect 301 /main.html http://www.example.com/ # Valid 这与 Apache 2.2的Apache文档 相矛盾 ,其中指出: 新的URL应该是以scheme和hostname开头的绝对URL,但也可以使用以斜杠开头的URLpath,在这种情况下,将会添加当前服务器的scheme和主机名。 当然,我确认我们在旧服务器和新服务器上都使用Apache 2.2。 旧服务器是Apache 2.2.11的Gentoo框,而新服务器是Apache 2.2.3的RHEL 5框。 解决方法是将所有path更改为完整的URL,或者将语句转换为mod_rewrite规则,但我更喜欢文档化的行为。 你有什么经验?

如何设置Apache用户更多的同时连接?

我使用mod_fcgid在FastCGI下使用Apache 2和PHP运行虚拟CentOS 5服务器。 我已经构build了一个严重依赖Ajax的应用程序,并且在一种情况下使用了一个PHP flush的popup窗口来允许应用程序在很长时间内实时工作。 问题是,当我连接到一个ajax脚本,我被locking到该脚本,直到它完成。 popup窗口也是一样的。 我似乎一次不能提供多个请求。 我在另一篇文章中读到,很可能是客户端(Firefox)导致的问题,但Firefox“network.http.max-persistent-connections-per-server”设置为10。 我如何允许浏览器或服务器(以导致问题为准)接受多个连接? 谢谢。

Apache的mod_rewrite

我想要mod_rewrite来做到这一点: http://server/* – >redirect到http://server/app/* http://server/app/*不应该被redirect。 http://server.domain/* – >redirect到http://server/app/* http://server.domain/app* – >redirect到http://server/app/* 它必须使用mod_jk! 编辑:这是最终的解决scheme # force use of host 'server' RewriteCond %{HTTP_HOST} !^server$ RewriteRule ^(.*)$ server$1 [R,NE,L] # prepend /app to URL if missing RewriteCond %{request_uri} !^/app.*? RewriteRule ^(.+?)$ app/$1 [R,NE,L] 感谢你,fahadsadah和Insanity5902! 我很犹豫是否表示你们其中任何一位是“正确的”,因为两者都提供了宝贵的意见,从而构成了最终的解决scheme。

将输出编码设置为文本/ html,以Apache结尾的给定文件

我想上传一些带有结尾.aspx的HTML页面到我们的apache根服务器,并且我想让apache像处理常规的.html文件一样处理和交付它们。 我知道这是不寻常的,但它只是一个初步的网站search引擎优化的原因,直到我得到一个Windows服务器。 现在,当我在浏览器中查看其中一个文件时,浏览器将其视为text / plain而不是text / html。 我已经在我的.htaccess文件中尝试了以下内容,但似乎没有任何效果: AddEncoding text / html .aspx 什么是正确的方法来做到这一点?

在apache中将脚本和静态内容与位置标签混合

我想configurationApache发送大部分的URI到我的mod_perl应用程序,除了几个文件,我想使用默认处理程序服务。 (发送一个静态文件) 我希望所有的http://myserver.com/xxxxx通过/,/index.html,robots.txt和一些子文件夹静态地传递给mod_perl。 我已经尝试了一些不同的组合,但我不能得到它的工作。 似乎没有一种方法来否定<LocationMatches>等。 如果我定义了PERLvariables, 所有的东西都转到了脚本上,关掉了,我可以切断静态数据,但是显然脚本不起作用。 <Directory /home/httpd/plaintext> AllowOverride None <Files ~ "(index.html|robots.txt|favicon.gif)"> SetHandler default-script </Files> AddDefaultCharset utf-8 DirectorySlash off Order allow,deny Allow from all </Directory> <IfDefine PERL> <Location /> SetHandler perl-script PerlResponseHandler LinkCrunchDB::Handler </Location> </IfDefine> 我想黑客模块使用内部redirect可能工作,但它是丑陋的。 我使用的是Gentoo Linux,其中包括module.d /文件夹中的所有文件,然后是vhost.d文件夹。 我已经检查了所有这些,并删除了任何目录或位置文件夹,没有任何! 非常感谢。

如何使用没有域名的Passenger / Apache服务Rails应用程序?

我正在尝试在Ubuntu服务器上使用Passenger和Apache来提供Rails应用程序。 Passenger安装说明说我应该添加以下到我的Apacheconfiguration文件 – 我认为这是/etc/apache2/httpd.conf。 <VirtualHost *:80> ServerName www.yourhost.com DocumentRoot /somewhere/public # <– be sure to point to 'public'! <Directory /somewhere/public> AllowOverride all # <– relax Apache security settings Options -MultiViews # <– MultiViews must be turned off </Directory> </VirtualHost> 但是,我还没有一个域指向我的服务器,所以我不知道我应该为ServerName参数。 我已经尝试了IP地址,但是当我这样做,重新启动Apache给 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for […]

通配符子域上的dynamic虚拟主机隐藏在CNAME后面

介绍 我有一个社区,每个用户都可以在我的项目上有自己的子域名,例如username1.mydomain.com 在PHP中,我使用variablesHTTP_HOST来确定用户名(username1)。 任务 让用户通过CNAMElogging将自己的域路由到他的子域。 www.usersdomain.com应链接到username1.mydomain.com。 问题 添加CNAMElogging(www.usersdomain.com)后,HTTP_HOSTvariables应该返回username1.mydomain.com而不是www.usersdomain.com。 我该如何解决这个问题? 希望有人能帮助我,请。 当前虚拟主机设置 <VirtualHost *:80> DocumentRoot /home/webapps/egoapp/current/public <DirectoryMatch /\.git/|/\.svn/ > Deny from all </DirectoryMatch> <Directory "/home/webapps/egoapp/current"> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> RewriteEngine On # Enable status page for monitoring purposes RewriteCond %{REMOTE_ADDR} ^(127.0.0.1) RewriteRule ^(/server-status) $1 [H=server-status,L] # Redirects to a maintenance […]

阿帕奇充满状态“读取请求”的连接

我有一个麻烦太多请求的Apache的问题。 当我看看服务器状态页面时,我可以看到大多数连接处于“读取请求”状态,但没有完成。 当我进行平稳的重新启动时,所有“读取请求”连接消失。 由于重启时间不长,我相信连接不再使用。 apache在一段时间内(> 30分钟)正在满足这些请求。 但是,当连接不再使用时,我会期望有一些超时来杀死这些连接,但是这不会发生,或者超时太大。 有谁知道哪个超时应该杀死这些连接,或者我在错误的地方search? 一些细节设置: 使用mod_jk 1.2.10的HP-UX上的apache 2.0.55 状态“阅读请求”中的大多数连接都是通过mod_jk(客户端 – > HP-UX apache – > Tomcats)连接到tomcat后端,但不是全部。 我知道mod_jk是一个非常旧的版本,计划很快更新。 但我不怀疑mod_jk,因为在将连接redirect到另一个更新的mod_jk的apache,然后将连接redirect到tomcats(客户端 – > HP-UX apache – > Linux apache – > Tomcats)时,会出现相同的效果。 它始终是填充“RR”连接的HP-UX Apache。