Articles of apache 2.2

为什么这个服务器redirect到另一个页面?

我正在为客户build立一个网站。 有一个我不知道的原因www.domain.com转发到www.domain.com/directory/home.html。 如果我inputwww.domain.com/index.php它工作正常。 我检查.htaccess那里没有什么,所以我设置索引index.php在每个根目录以外的目录中工作正常。 我有root权限,并且已经检查了httpd.conf(在VI中search了我被redirect到的文档)以及其他所有我能想到的东西。 我应该在哪里看下? 服务器是运行CentOS 5.5的VPS,具有多个域,每个域具有用于根访问的CPanel WHM 11和安装的CPanel X.

Apache Web服务器:从另一台服务器“代理”一个Web应用程序?

对不起,蹩脚的术语 – 我不是一个系统pipe理员…所以这里的交易。 我在同一个networking中有两个Linux机器,让我们通过他们的IP,abcd和efgh来引用这些机器。每个机器运行一些webapp,通常可用,如http://abcd/和http://efgh/ 。 我想要完成的是:用一些Apache Web服务器(它的方式住在两个盒子)configuration巫术,第一个应用程序将可通过http://abcd/whatever1/ ,第二个应用程序将作为http://abcd/whatever2/ – 但仍然驻留在另一台服务器上(efgh)。 长话短说 – 完全可以用Apacheconfiguration魔术来做到这一点,而不必触摸webapps及其configuration? 如果是这样 – 如何? :) 提前致谢!

Apacheredirect目录

所以,我试图将任何页面redirect到一个文件,但是避免redirect任何现有的文件或目录。 RewriteEngine On RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -d RewriteRule ^(.+)$ $1 [L] RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f RewriteRule ^(.+)$ /index.php?page=$1 [QSA] 但是,任何目录仍然被redirect(现有的文件很好,可以find)。

设置Shibboleth来保护网站的一部分

我在Ubuntu 10.04上安装了Apache的Shibboleth模块,使用aptitude按照https://groups.google.com/group/shibboleth-users/browse_thread/thread/9fca3b2af04d5ca8?pli=1安装libapache2-mod-shib2并启用该模块(我已经检查/ etc / apache2 / mods启用) 然后,我通过使用以下指令放置.htaccess文件来保护服务器上的目录: AuthType shibboleth ShibRequestSetting requireSession 1 Require valid-user 现在 – 我还没有build立一个SSL主机 – 我也没有设置IdP – 但我希望服务器会阻止访问这个目录 – 但我得到的内容没有任何问题。 我已经重新启动了Apache服务,我没有在日志文件中的错误。

在Apache中寻找相当于ProxyPassReverseMatch来修复丢失的尾随正斜杠问题

我有两个Web服务器,www.example.com和www.userdir.com。 我试图使www.example.com作为前端代理服务器来处理http://www.example.com/~username格式的请求,例如 http://www.example.com/~john/ 以便它发送一个内部请求 http://www.userdir.com/~john/ 到www.userdir.com。 我可以在Apache中实现这一点 ProxyPass /〜john http://www.userdir.com/~john ProxyPassReverse /〜约翰http://www.userdir.com/~john ProxyPassReverse是必要的,因为没有像http://www.example.com/~john这样的请求而没有尾随的正斜杠将被redirect为http://www.userdir.com/~john/ ,我希望我的用户留在example.com空间。 现在,我的问题是我有很多的用户,我不能在httpd.conf中列出所有这些用户名。 所以,我用 ProxyPassMatch ^(/〜。*)$ http://www.userdir.com$1 但在Apache中没有ProxyPassReverseMatch这样的事情。 没有它,每当url中的尾部正斜杠丢失,就会被引导到www.userdir.com,这不是我想要的。 我也尝试了以下内容来添加尾随的正斜杠 RewriteCond%{REQUEST_URI} ^ /〜[^。/] * $ RewriteRule ^ /(。*)$ http://www.userdir.com/$1/ [P] 但是它会渲染一个破碎的图像和CSS的页面,因为它们链接到http://www.example.com/images/image.gif而它应该是http://www.example.com/~john/images /image.gif 。 我一直在Google上search很长一段时间,但仍然找不到一个好的解决scheme。 如果有人能够对这个问题有所了解,我们将会非常感激。 谢谢!

Apache相当于vsftpd的local_enable

vsftpd有一个选项local_enable ,允许FTP用户直接映射到本地用户。 它甚至可以在没有任何额外的努力,我们的同类活动目录configuration。 我一直在寻找所有的,我似乎无法find一个相当于Apache .htaccess的。 auth提供者似乎是文件,DBM,LDAP和DBD。 这些似乎都不允许HTTPvalidation用户映射到本地用户帐户。 有没有办法做到这一点? 如果没有,为什么不呢? 谢谢。

上传文件的所有权/权限

我想知道我是否在正确的轨道上。 我的上传脚本,执行以下操作: 检查扩展名是gif,png,jpg org jpeg 检查MIME是图像/ JPEG,图像/ PNG,图像/ GIF 检查是否上传了有效的文件 上传文件到/图像 禁用脚本执行的/ images中的.htaccess脚本 之后,我为/图像设置了以下权限 所有者/组= www-data 权限= 700 题: 在/图像上设置权限的最后一步是否合理? 这是电子商务解决scheme的一部分。 在产品,产品列表等上面显示上传的图像。这意味着访问者应该允许查看图像。 我在用户www-data下运行apache 2.2

Apache2 SSL和Passengerconfiguration问题

我有以下虚拟主机configuration块。 <VirtualHost *:80> DocumentRoot /var/www/html/TestApp/public/ <Directory /var/www/html/TestApp/public/> Allow from all Options -MultiViews </Directory> </VirtualHost> NameVirtualHost *:443 <VirtualHost *:443> DocumentRoot /var/www/html/TestApp/public/ <Directory /var/www/html/TestApp/public/> Allow from all Options -MultiViews </Directory> SSLEngine on SSLCertificateFile /etc/pki/tls/certs/server.crt SSLCertificateKeyFile /etc/pki/tls/private/server.key </VirtualHost> 我试图在Apache上为客户提供Rails应用程序。 问题: 在不使用SSL的情况下,TestApp可以正常使用Apache和Passenger当我使用https:// ,我看到了/var/www/html TestApp的path是/var/www/html/TestApp 任何帮助都感激不尽。

你能在我的.htaccess中看到错误吗?

好吧,经过许多search,试用和错误,我已经设法创build一个.htaccess做我想做的事情(请参阅代码块后的解释和问题): <IfModule mod_rewrite.c> RewriteEngine On #1 If the requested file is not url-mapper.php (to avoid .htaccess loop) RewriteCond %{REQUEST_FILENAME} (?<!url-mapper\.php)$ #2 If the requested URI does not end with an extension OR if the URI ends with .php* RewriteCond %{REQUEST_URI} !\.(.*) [OR] RewriteCond %{REQUEST_URI} \.php.*$ [NC] #3 If the requested URI is not in an […]

基于所请求的资源是否存在于第一个中的Apacheconfiguration使用两个文档根

背景 我有一个由CakePHP安装和Magento安装组成的客户端站点: /web/example.com/ /web/example.com/app/ <== CakePHP /web/example.com/app/webroot/ <== DocumentRoot /web/example.com/app/webroot/store/ <== Magento /web/example.com/config/ <== Site-wide config /web/example.com/vendors/ <== Site-wide libraries 服务器运行Apache 2.2.3。 问题 整个公司都有FTP访问权限,并习惯于阻塞/web/example.com/app/webroot/和/web/example.com/app/webroot/store/目录自己的文件。 有时这些文件需要HTTP访问,有时候不需要。 无论如何,这种混乱让我的工作更难维护网站。 代码合并,tar实时代码等,是非常复杂的,通常需要一堆filter。 被遗弃的解决scheme 起初,我以为我会在同一台服务器上build立一个新的子域名,将其所有文件移动到那里,然后更改他们的FTP chroot。 但是,这不会因为这些原因: 首先,我不知道(他们也不记得)他们发送的哪些营销材料包含URL,这些材料包含他们上传到服务器的某些资源,使用主域,还使用了使用主要虚拟的抽象子域主机,因为它具有ServerAlias *.example.com 。 所以突然让他们只使用static.example.com是不可行的。 其次,他们的项目中的PHP脚本可能是非常不便携的。 我希望他们的文件保持在与我所能build立的环境类似的环境中。 此外,我不想debugging他们的代码,使其便携式。 一半的解决scheme 经过一番思考,我决定find一种方法,把实际的网站文件分割成另一个他们不会碰到的目录。 公司上传的文件将保持在原来的位置。 这将确保我没有破坏任何需要HTTP访问的项目。 它看起来像这样: /web/example.com/ <== A bunch of their files are in here /web/example.com/app/webroot/ <== […]