Articles of apache 2.2

如何添加一个额外的RewriteCond来排除特定的url?

我有一个现有的.htaccess文件与以下rewritecond: RewriteCond %{HTTP_HOST} !^go\.domain\.com$ [NC] RewriteRule ^(.*)$ https://go.domain.com [R,L] 本质上,这个域上的所有内容都被强制go子域。 但是,我想留下一个url,而不是重写: www.domain.com/terms 如何添加额外的RewriteCond来排除这个特定的url?

线程安全php-pecl-memcache和php-pecl-mongo

我正在将运行Apache的Fedora服务器从prefork切换到worker。 除了Mongo和Memcache的php库以外,一切似乎都很好。 有没有人有任何成功让这些工作与httpd工人mpm? 请注意,我安装了memcache和mongo,像这样: yum install php-pecl-memcache php-pecl-mongo 一时兴起,我试着将/usr/lib64/php/modules/下的.so文件复制到/usr/lib64/php-zts/modules/ ,但是我得到了这些错误: PHP警告:PHP启动:无法加载dynamic库'/usr/lib64/php-zts/modules/memcache.so' – /usr/lib64/php-zts/modules/memcache.so:undefined symbol:basic_globals in Unknown第0行PHP警告:PHP启动:无法加载dynamic库'/usr/lib64/php-zts/modules/mongo.so' – /usr/lib64/php-zts/modules/mongo.so:undefined symbol:core_globals in未知在第0行

Apache作为反向代理:同步还是asynchronous?

我使用Apache来提供静态内容,然后反向代理到Rails服务器来处理dynamic内容,其中一些可能需要很长时间才能生成。 当Apache向一个反向代理发出一个请求时,Apache进程已经用完了,只是坐在那里等待响应(即时使用prefork mpm),或者它可以closures并处理其他请求,只处理来自Rails服务器的响应当答复准备好了?

HTAccess允许使用名称作为密码login

我有一个问题,我的服务器正在接受我的网站有错误的密码。 例如,我的域名可能是“johndoe.com”,情况是 htlogin名: johndoe 密码: johndoe123 哪些工作正常login我,但是有一个小问题。 由于某种原因,我也可以使用我的login名作为密码,它会让我进入! 我尝试使用随机密码,但没有工作(预期的行为)。 我看着我的.htpasswd,它看起来像这样: johndoe:rpFVb9n8R.p9c 那么我的密码和login名是否都是正确的密码呢? 这个超出了我:/

子域名不会影响CentOS

嘿,我使用webmin来pipe理我的CentOS框上的Apache服务器,我试图将我的子域设置为不同的目录。 然而,子域和实际域都去完全相同的页面 <VirtualHost *> DocumentRoot "/home/windshear-gaming.com/public_html/forum" ServerName forum.windshear-gaming.com </VirtualHost> <VirtualHost *> DocumentRoot "/home/windshear-gaming.com/public_html/portal" ServerName windshear-gaming.com </VirtualHost> 多数民众赞成我如何设置两个不同的子域的虚拟主机。 其他一切都保持不变。

从索引中隐藏文件夹中的每个目录,但不包括其内容

在我的服务器上,我想创build一个隐藏于普通用户的目录,但是可以通过链接进行访问而无需身份validation。 目前我已经设置了这样的: 在虚拟主机configuration中,我已经允许重写索引选项 在我的服务器上,我有文件夹名为h ,如隐藏 与h的同一级别上,我有一个.htaccess文件: IndexIgnore h 而在另一个.htaccess与IndexIgnore * 但是,这也隐藏了我不想要的h/abc/的内容。 我试着把IndexIgnore . 在h/abc/.htaccess ,但它没有工作。 HTTPD文档中也提到了这个问题,后来我学到了这一点: 多个IndexIgnore指令添加到列表中,而不是replace被忽略文件的列表。 默认情况下,列表包含。 (当前目录)。 有没有办法指定IndexIgnore只对当前目录内的项目,而不是recursion? 还是有其他更好的方法来处理这个问题? 我宁愿不要触摸“全局”configuration文件太多,尽pipe这是可能的。

nginx,apache httpauthentication

我有一个nginx反向代理服务器,与apache后端进入清漆caching。 这个php作为一个从apache开始的fastcgi进程运行。 我试图让一些PHP软件工作,但基本的HTTP身份validation对话框不接受任何用户名或密码。 我做了一些挖掘,并想出了这个.htaccess文件: RewriteEngine On RewriteRule .* – [E=REMOTE_USER:%{HTTP:Authorization},L] 这已经解决了基本HTTPauthentication的authentication问题。 现在我一直在试图弄清楚到底做了什么,所以我的问题是:为什么添加这个重写规则使authentication开始工作? 我现在所能想到的就是在nginx – > varnish – > apache链的某个地方,apache没有收到auth头文件。 我想了解这里发生了什么事情,所以我可以在服务器级别实施更改,以防止其他地方发生。 有人可以澄清? 谢谢

Apache2 configtest分段错误

无论出于什么原因,我设法搞砸了Apache相当糟糕(Ubuntu 12.04)。 下面的输出抱怨configtest失败和分段错误。 但是,我在/var/log/apache2/error.log找不到任何东西。 我怎样才能debugging这个“configtest”? jeroen@jeroen-ubuntu:~$ sudo service apache2 stop * Stopping web server apache2 * The apache2 configtest failed, so we are trying to kill it manually. This is almost certainly suboptimal, so please make sure your system is working as you'd expect now! … waiting [ OK ] jeroen@jeroen-ubuntu:~$ sudo service apache2 start […]

mod_wsgi失败通过wordpress?

我们使用apache,mod_php和mod_wsgi来提供一个中央的wordpress站点,一些path由Django提供动力,例如这些页面可能由Wordpress提供动力: oursite.com/ oursite.com/video/ 但是这些URL可能是由Django支持的: oursite.com/our-cool-django-app/ oursite.com/schedule/ 现在,我们使用一长串WSGIScriptAlias将特定的path映射到Django。 这令人讨厌,劳动密集。 那么,有没有办法可以configuration这样的事情: 首先尝试处理URL(我不太关心) 如果该处理程序返回404,请尝试另一个 我对Apache解决scheme特别感兴趣,但会考虑替代scheme。

Apache用户不能从CGI统计path,但可以从shell

这是一个脚本来演示: #include <stdlib.h> #include <stdio.h> #include <string.h> #include <errno.h> #include <sys/stat.h> #include <unistd.h> int main(int argc, char **argv) { printf("Content-Type: text/plain\r\n\r\n"); printf("UID, EUID = %d, %d\n", getuid(), geteuid()); printf("GID, EGID = %d, %d\n", getgid(), getegid()); struct stat stbuf; if (stat("/dev/shm", &stbuf)) printf("stat() failed: %s\n", strerror(errno)); else printf("stat() succeeded\n"); return 0; } 当我在sudo su -s /bin/bash […]