Articles of apache 2.2

.HTACCESS子域,而不是.CONF子域

我有3个示例域,并希望将此.conf转换为.htaccess,以便我不必一直重新启动我的Apache一次我更新了我的子域设置。 NameVirtualHost *:80 <VirtualHost *:80> ServerName www.myserver.com DocumentRoot /www </VirtualHost> <VirtualHost *:80> ServerName marhazk.myserver.com DocumentRoot /www/marhazk.com </VirtualHost> <VirtualHost *:80> ServerName perfectworld.myserver.com DocumentRoot /www/perfectworld.com </VirtualHost> 任何想法如何?

Apache忽略RewriteCond和RewriteRule

我要疯了 Apache完全忽略了RewriteCond和RewriteRule 。 我期望这个错误,因为RewriteEngine尚未设置为On 。 我有一堆其他RewriteCond和RewriteRule线,工作正常,当我检查重写日志(我已经启用),它显示这两个被跳过。 我修剪了一切,以validation它没有造成这个问题,果然,Apache愉快地进行这个configuration的错误: DocumentRoot /var/sites/public <Directory /var/sites/public> AllowOverride None SetEnv APPLICATION_ENV production RewriteCond %{HTTP_HOST} !^$ RewriteRule ^/(.*) http://www.example.com/$1 [L,R] Order allow,deny allow from all </Directory> 我敢肯定,这里有一些明显的错误,我瞎了眼,盯着它太久了。 任何帮助,将不胜感激。 注意:我没有这个在Vhost中。 configuration中没有任何Vhosts。 我已经删除了RewriteCond,它仍然不会抛出任何错误。 我也用RewriteEngine On试了一下。

如何启用PHP apache_request_headers()或将PHP更改为apache模块

我尝试将数据迁移到CentOS x64服​​务器上已经安装了PHP,WHM和其他一些服务。 我现有的许多PHP脚本依赖于PHP的apache_request_headers()函数,而当前服务器的PHPconfiguration不支持。 显然,编译PHP作为一个Apache模块是一个解决scheme,但是有没有其他的方法来启用它(无需卸载PHP,重新安装等等,以及所有相关的服务),也许像修改php.ini一样简单?

Apache2和/图标path行为不同

我的网站是在ubuntu LTS下使用mono和apache在asp.net中编写的。 在debugging大部分问题后,我的图标文件夹icons仍然存在问题。 这是给我错误的或没有图标。 然后我通知/blah给我我的自定义404页面,而/icons得到我的目录列表。 为什么是/icons/path击中目录,而不是使用我的asp.net代码? 我所知道的没有其他path(ATM)这样做。 附注: /images/也存在于我的图标文件夹相同的目录中。 /images/不会导致目录列表。

读取文件时,Windows / Apache / Perl / CGI“访问被拒绝”

自从我开始进行严重的系统pipe理和开发工作(所有* nix)以来,我一直没有在Windows机器上做过任何事情。 所以我可能会问一些简单的问题 – 但我还没有通过searchfind答案。 我有Windows Server 2008运行Apache 2.2。 我可以运行在cgi-bin目录中的“printenv.pl”perl脚本以及Apache安装就好了… 但是,使用脚本执行以下操作: #!c:\perl\bin\perl.exe print "Content-Type: text/plain; charset=iso-8859-1\n\n"; print `type C:\\Some\\Dir\\file.txt`; 我的Apache日志只是说: [Tue Jun 22 13:13:55 2010] [error] [client 68.230.22.34] Access is denied.\r 我可以从DOS提示符运行相同的perl脚本 – 所以我知道它适用于我的用户。 我可以在任务pipe理器中看到httpd.exe正在用户系统中运行,所以我确信file.txt对SYSTEM可读。 我甚至在任何时候都让所有人都可读 – 但是我仍然得到了“访问被拒绝”的错误。 谢谢…

Apache2的vhostconfiguration问题

我想要apache做的是匹配example.com的每个请求,并redirect到www.example.com。 浏览器发送的任何其他主机都不应该返回404。 这是我的两个鬼: example.com: <VirtualHost *> ServerAdmin [email protected] ServerName www.example.com ServerAlias *.example.com DocumentRoot /var/www/example.com/ <Directory /> Options FollowSymLinks AllowOverride All </Directory> RewriteEngine on RewriteCond %{HTTP_HOST} ^.*example\.com$ [NC] RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] RewriteRule ^(.*)$ http://www.example.com$1 [R=301,L] ErrorLog /var/log/apache2/error.log LogLevel warn CustomLog /var/log/apache2/access.log combined </VirtualHost> 000默认: <VirtualHost *> Redirect 404 / </VirtualHost> 实际上发生的事情是,“www.example.com”是应该的,“testing”主机标题应该是404d,而“example.com”是404d,它应该是“T。 这就像apache匹配“www”到ServerName指令,但ServerAlias被忽略,而“sub”的子域匹配默认的虚拟主机。

SSL不适用于符号链接的文件

我有一个运行Apache的虚拟(CentOS)networking服务器。 我有多个网站在运行。 两个网站共享相同的一组核心文件并具有共同的数据库。 这些文件通过符号链接“共享”。 Site1的文件是真正的文件,而Site2的“文件”是site1的符号链接。 在非SSLencryption浏览器中浏览site2时,该网站按预期工作。 但是,当我尝试使用https协议查看网站时,该网站显示为空。 SSL证书由托pipe公司安装。 任何想法为什么发生这种情况?

客户端的端口22被阻塞 – 连接到SVN

我需要允许我的团队的某些成员访问基于Ubuntu的Subversion版本库,我们一些人已经使用了一年多了。 不幸的是,我的公司已经阻止了这些用户的22端口出站(并且不会解除阻止),所以这些人不能通过encryption通道访问存储库。 我认为最简单的方法是为这些用户设置一个备用协议(现有用户可以在端口22上继续使用svn+ssh ,被阻止的用户可以使用svn+ssh_alt并通过端口143或8080连接)。 但是我完全不知道要打开哪个端口以及哪个应用程序需要在哪个端口上侦听。 任何人都可以提出答案? 谢谢!

如何创build子域'apache2'?

我看到了这个教程 。 但似乎过时,因为我的httpd.conf是空的,它看起来像“/ etc / apache2”下的一些分开的configuration(我在Ubuntu 10服务器上) 我可以使用相同的IP? 对 ? 我有类似的文件 apache2.conf envvars magic mods-enabled sites-available conf.d httpd.conf mods-available ports.conf sites-enabled 问:我可以使用相同的IP? 对 ?

在Mac OS X Server 10.6上启动时启动Apache 2

在Mac OS X Server 10.6上编译,安装和configurationApache 2.2.15后,一切正常。 手动启动时服务器运行正常,没有configuration问题。 然后我添加了一个启动的系统守护进程(在/库/ LaunchDaemons /),加载它,并重新启动。 再次,这似乎工作正常。 但是,由于mod_unique_id的问题,Apache不会在启动时启动,我想。 这里是apache错误日志条目: [Tue Jun 29 09:01:29 2010] [alert] (EAI 8)nodename nor servname provided, or not known: mod_unique_id: unable to find IPv4 address of "my.server.net" Configuration Failed 在我看来,launchd在启动过程中过早地启动了这项工作,而在反向DNS查询没有完成或正确传播的时候。 如果我通过SSH手动启动Apache,它启动没有错误。 (服务器具有一个静态IP,具有完全限定的域名集。 下面是我的system.log中的一些行: Jun 29 09:01:29 org.apache.httpd[88]: httpd: apr_sockaddr_info_get() failed for my.server.com Jun 29 09:01:29 org.apache.httpd[88]: httpd: […]