Articles of httpd.conf

在不存在的子域中找不到ErrorDocument 404

我试图让Apache服务器发出无效子域的自定义404错误。 以下是httpdconfiguration的相关部分: Alias /err/ "/var/www/error/" ErrorDocument 404 /err/HTTP_NOT_FOUND.html.var <VirtualHost *:80> # the default virtual host ServerName site_not_found Redirect 404 / </VirtualHost> <VirtualHost *:80> ServerName example.com ServerAlias ??.example.com </VirtualHost> 我得到的是这样的: 未find 在此服务器上找不到请求的URL /。 此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。 我不明白为什么一个URL non-existent-subdomain.example.com产生404错误没有自定义错误,如上所示,而一个URL到eg.example.com/non-existent-file产生完整的自定义404错误。 有人可以build议这一点。 谢谢。

将模块加载到Apache – mod_wsgi

将模块加载到Apache中 一旦将Apache模块安装到Apache安装的模块目录中,仍然需要configurationApache以实际加载模块。 具体如何完成以及应该放置哪个主要的Apacheconfiguration文件取决于您使用的是哪个版本的Apache,并且还可能受到您的操作系统的Ap​​ache发行版如何组织Apacheconfiguration文件的影响。 因此,您可能需要检查操作系统的任何文档以查看可能需要修改过程的方式。 在最简单的情况下,只需添加一行表单即可: 将LoadModule wsgi_module modules / mod_wsgi.so加载到主Apache的“httpd.conf”configuration文件中,同时加载其他Apache模块。 该指令的最后一个选项应该是mod_wsgi模块文件所在位置的绝对path,或者是相对于Apache安装根目录expression的path。 如果您使用“make”来安装软件包,请查看复制文件的位置,以确定将该值设置为的内容。 我在哪里添加httpd.conf文件中的LoadModule行? 我不明白这些方向: 该指令的最后一个选项应该是mod_wsgi模块文件所在位置的绝对path,或者是相对于Apache安装根目录expression的path。 如果您使用“make”来安装软件包,请查看复制文件的位置,以确定将该值设置为的内容。

获取gzip压缩在我的服务器上工作(模块?)

我已将HTML5 Boilerplate中的htaccess文件复制到我的httpd.conf文件中,并重新启动了Apache,但由于某些原因,gzip压缩仍然不起作用: 我已经testing过,看看这个样板代码中引用的模块是否被加载,它们似乎是,但也许是不同的名称。 我是否需要修改模块名称以便代码正常工作,或者可以将问题放在其他位置? 模块:

如何使用一个httpd.conf用于testing和生产服务器?

在我的testing服务器上,我想收听:127.0.0.1 并在我的产品服务器上我想听: 。###。###。 我正在寻找这样的东西: <if #server=> Listen 127.0.0.1 </if #server=> 在Apache中有这样的东西? 谢谢。

Apache httpd-vhosts.conf文件将所有请求发送到默认的vhost

这里有什么问题? NameVirtualHost *:80 <VirtualHost *:80> ServerName domain1.com ServerAdmin [email protected] DocumentRoot /var/www/html/domain1-com </VirtualHost> <VirtualHost *:80> ServerName domain2.com ServerAlias www.domain2.com ServerAdmin [email protected] DocumentRoot /var/www/html/domain2-com </VirtualHost> 问题: domain1.com正确地服务于/var/www/html/domain1-com的内容,但是domain2.com也提供/var/www/html/domain1-com 。 这里是httpd -S的输出 VirtualHost configuration: wildcard NameVirtualHosts and _default_ servers: *:80 is a NameVirtualHost default server domain1.com (/etc/httpd/conf/extra/httpd-vhosts.conf:21) port 80 namevhost domain1.com (/etc/httpd/conf/extra/httpd-vhosts.conf:21) port 80 namevhost domain2.com (/etc/httpd/conf/extra/httpd-vhosts.conf:27) Syntax OK […]

Apache ProxyPass虚拟主机

我正在尝试做一个类似的设置,以在这个较旧的线程讨论。 我已经启用了proxy_module,proxy_connect_module,proxy_http_module和rewrite_module。 它的工作,但现在当我去domain.com它把我带到ipcamera。 我尝试添加另一个虚拟主机与ServerName domain.com指向本地主机,但这只是使页面挂起。 <VirtualHost *:80> ServerName ipcam.domain.com ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyErrorOverride On ProxyPass / http://192.168.1.123/ ProxyPassReverse / http://192.168.1.123/ <Location /> Order allow,deny Allow from all </Location> </VirtualHost> <VirtualHost *:80> ServerName domain.com ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyErrorOverride On ProxyPass / http://localhost/ […]

如何设置任何浏览器在Apache httpd.conf中保持活动状态

我在我的httpd.conf中为IE设置了以下设置: BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 我想将这个应用到我的服务器上的所有请求。 处理keep alive的httpd.conf部分如下所示: # # Timeout: The number of seconds before receives and sends time out. # Timeout 5 # # KeepAlive: Whether or not to allow persistent connections (more than # one request per connection). Set to "Off" to deactivate. # KeepAlive Off # # MaxKeepAliveRequests: The […]

RewriteBase规则在.htacess中,但不在httpd.conf中(在<Directory …>中)。

让我通过例子来解释… 文件: /var/www/example.com/public/wp-content/cache/minify/.htaccess <IfModule mod_rewrite.c> # THIS WORKS… RewriteBase /wp-content/cache/minify/ RewriteRule /w3tc_rewrite_test$ ../../plugins/w3-total-cache/pub/minify.php?w3tc_rewrite_test=1 [L] RewriteCond %{REQUEST_FILENAME}%{ENV:APPEND_EXT} -f RewriteRule (.*) $1%{ENV:APPEND_EXT} [L] RewriteRule ^(.+/[X]+\.css)$ ../../plugins/w3-total-cache/pub/minify.php?test_file=$1 [L] RewriteRule ^(.+\.(css|js))$ ../../plugins/w3-total-cache/pub/minify.php?file=$1 [L] </IfModule> 文件: /etc/apache2/httpd.conf <Directory /var/www/example.com/public> AllowOverride None Options -MultiViews […] <IfModule mod_rewrite.c> Options +FollowSymlinks # Options +SymLinksIfOwnerMatch RewriteEngine On # RewriteBase / </IfModule> […] <IfModule mod_rewrite.c> […]

无法访问Web服务器上的某些文件

背景:我正在运行安装了Apache的CentOS虚拟机。 网页的根目录是“/ var / www / html”。 有一个子目录(“/ var / www / html / mp3”),里面有两个mp3文件。 两个MP3都有完全相同的权限(644)。 “/ mp3”目录有755个权限。 我有一个数据库,其中包含歌曲的某些信息,目标是最终能够inputsearch条件,并有一个PHP脚本,它返回的歌曲中包含这些关键字,并允许您播放它们。 我正在使用默认的“httpd.conf”configuration。 问题:我只能看到其中的一首歌。 当/ mp3被访问时,你会得到一个只有 “MasterOfPuppets.mp3”的目录; 它不显示“One.mp3”。 当您访问“/mp3/MasterOfPuppets.mp3”时,它将允许您播放歌曲; 当你访问/mp3/One.mp3时,它显示403:访问被禁止。 我几乎相信,这是一个权限问题,但鉴于这两个文件的权限是完全一样的 ,我绝对不知道如何发生这种情况。 有没有人有任何想法可以导致这个问题? 过去3个小时,我的头靠在墙上。 Google让我失望了 编辑: [root@dugan mp3]# ls -lrtZ *mp3 -rw-r–r–. root root unconfined_u:object_r:home_root_t:s0 One.mp3 -rw-r–r–. root root unconfined_u:object_r:httpd_sys_content_t:s0 MasterOfPuppets.mp3 EDIT2: 这是一个SELinux问题。 我在这里find了文档: 这里 在“/ mp3”文件夹中,我input了“chcon -t […]

configuration文件和ssh密钥正在重置

我拥有一个Centos 6.4操作系统。 我有标准的灯pipe安装。 Apache 2.2,PHP54和MySQL 5.5。 我也上传了一个公钥到我的授权文件.ss​​h。 我有我的文档根在我的httpd.conf中设置。 一切工作,因为它应该。 直到几天后,当一切突然重置.. 我的SSH密钥不见了,我的httpd.conf文件被重置为默认状态。 就像我从未configuration过任何东西 有谁知道为什么会发生这种情况?