我试图将一个子目录代理到另一个服务器.我的httpd.conf:
RewriteEngine On
ProxyPreserveHost On
RewriteRule .*subdir/ https://anotherserver/subdir/ [P]
Run Code Online (Sandbox Code Playgroud)
问题是Apache总是记录这个:
AH01144: No protocol handler was valid for the URL /subdir/. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule., referer: http://localhost/
Run Code Online (Sandbox Code Playgroud)
所以在搜索互联网后,我已经激活了这些模块:
LoadModule headers_module modules/mod_headers.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_express_module modules/mod_proxy_express.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
LoadModule rewrite_module modules/mod_rewrite.so …Run Code Online (Sandbox Code Playgroud) mod_rewrite有两个主要问题:
1)当我有一个无效的规则时,没有报告有意义的错误

2)为了可靠地测试每个修改,我必须擦除chrome的缓存.这不是火箭科学,但我必须按Ctrl + Shift + Delete然后单击确定,然后关闭窗口,然后重新加载.
我想看看是否有任何大师愿意分享他们的秘密来有效地管理mod_rewrite代码.
我试图在CentOS 5.0上重新启动我的Apache服务器并收到此消息:
httpd:使用127.0.0.1 for ServerName无法可靠地确定服务器的完全限定域名
这是/etc/hosts文件:
127.0.0.1 server4-245 server4-245.com localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
Run Code Online (Sandbox Code Playgroud)
这是/etc/sysconfig/network文件:
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=server4-245
Run Code Online (Sandbox Code Playgroud)
我在Apache httpd.conf文件中也有这个:
ServerName localhost
Run Code Online (Sandbox Code Playgroud)
但是,当我重新启动Apache时,我仍然收到第一条错误消息.
服务器PHP升级后,我在Apache 2.0上使用PHP Version 5.6.2收到以下错误
A PHP Error was encountered
Severity: Notice
Message: Only variable references should be returned by reference
Filename: core/Common.php
Line Number: 257
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
如何将HTTPS重定向到HTTP?也就是说,与每个人所教导的(看似)相反.
我在HTTPS上有一台服务器,我为此支付了SSL认证和镜像,我没有并且只是为了紧急情况而保留,所以它不值得获得认证.
在我的客户端桌面上,我有一些快捷方式指向http://production_server和https://production_server(两者都有效).但是,我知道如果我的生产服务器出现故障,那么DNS转发就会启动,那些在其快捷方式上有"https"的客户端将会盯着https://mirror_server(这不起作用)和一个胖胖的Internet Explorer 7红屏不安为我的公司.
不幸的是,我不能只在客户端级别切换它.这些用户非常不懂计算机:并且非常有可能因为看到HTTPS"不安全"错误而感到恐惧(特别是现在Firefox 3和Internet Explorer 7处理它的方式:完全停止,有点谢天谢地,但没有帮助我这里大声笑).
这是很容易 找到 的Apache的解决方案为基于HTTP> HTTPS重定向,但对我的生活,我不能反其道而行之.
想法?
Apache正在记录PHP Fatal error: Call to undefined function json_decode().经过一些谷歌搜索,似乎这个问题是没有最新版本的PHP的结果.奇怪的是,运行php --version输出
PHP 5.5.1-2+debphp.org~precise+2 (cli) (built: Aug 6 2013 10:49:43)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
with Zend OPcache v7.0.2-dev, Copyright (c) 1999-2013, by Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
Run Code Online (Sandbox Code Playgroud)
清楚地表明我的php版本大于5.1.
关于可能导致这种情况的任何想法,或者要找出的步骤?
编辑:脚本回显phpversion的结果是 5.5.1-2+debphp.org~precise
编辑:结果phpinfo()也是PHP Version 5.5.1-2+debphp.org~precise+2
此外,在其中phpinfo(),它列出了模块JSON和模块作者(Omar Kilani,Scott MacVicar).
我做了很多搜索,还阅读了PHP $ _SERVER文档.对于在我的网站中使用的简单链接定义,我的PHP脚本使用哪个权限?
$_SERVER['SERVER_NAME'] 是基于您的Web服务器的配置文件(在我的情况下是Apache2),并根据一些指令而变化:(1)VirtualHost,(2)ServerName,(3)UseCanonicalName等.
$_SERVER['HTTP_HOST'] 基于客户的要求.
因此,在我看来,为了使我的脚本尽可能兼容而使用的正确方法是$_SERVER['HTTP_HOST'].这个假设是否正确?
后续评论:
我想在读完这篇文章之后我有点偏执,并注意到有些人说"他们不会相信任何一个$_SERVER变种":
http://markjaquith.wordpress.com/2009/09/21/php-server-vars-not-safe-in-forms-or-links/
http://php.net/manual/en/reserved.variables.server.php#89567(评论:Vladimir Kornea 14-Mar-2009 01:06)
显然,讨论主要是关于$_SERVER['PHP_SELF']为什么你不应该在表单action属性中使用它而没有适当的转义以防止XSS攻击.
我对上述原始问题的结论是$_SERVER['HTTP_HOST'],即使在表单中使用,也可以"安全"地使用网站上的所有链接,而不必担心XSS攻击.
如果我错了,请纠正我.
我正在研究如何使用Python开发一个像样的Web应用程序.由于我不希望某些高阶结构妨碍我,我的选择落在了轻量级的Flask框架上.时间将证明这是否是正确的选择.
所以,现在我已经设置了一个带有mod_wsgi的Apache服务器,我的测试站点运行正常.但是,我想通过在我制作的py或模板文件中的任何更改时自动重新加载网站来加速开发例程.我看到网站的.wsgi文件中的任何更改都会导致重新加载(即使没有在apache配置文件中使用WSGIScriptReloading),但我仍然需要手动生成它(即插入额外的换行符,保存).当我编辑一些应用程序的py文件时,有什么方法可以导致重新加载吗?或者,我应该使用IDE为我刷新.wsgi文件?
我使用常见的嫌疑人(Apache,MySQL和PHP)在CentOS上运行一个网站.自从这个网站最初推出以来,它已经发展了很多,现在我想用它做更好的事情 - 即实时通知.根据我的阅读,Apache处理这个问题很糟糕.我想知道我是否可以用Node.js替换Apache(因此代替" LAMP "它将"LNMP").
我试过在线搜索解决方案,但还没找到.如果我正确地解释了我读过的东西,似乎大多数人都说Node.js可以同时替换Apache和PHP.我有很多现有的PHP代码,所以我宁愿保留它.
如果它还不是很明显,我很困惑,可以使用一些启示.非常感谢!
我在Windows 7上运行了XAMPP安装.
只要我将一个VirtualHost添加到httpd-vhosts.conf,那么'常规' http://localhost和新的dropbox.local 都不起作用.
这是我添加到我的httpd-vhosts.conf中的内容:
<VirtualHost *:80>
ServerAdmin postmaster@dummy-host.localhost
DocumentRoot "E:/Documenten/Dropbox/Dropbox/dummy-htdocs"
ServerName dropbox.local
ServerAlias www.dropbox.local
ErrorLog "logs/dropbox.local-error.log"
CustomLog "logs/dropbox.local-access.log" combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
所以我查看了我的dropbox.local-error.log以获取任何信息:
[Thu Feb 02 10:41:57 2012] [error] [client 127.0.0.1] client denied by server configuration: E:/Documenten/Dropbox/Dropbox/dummy-htdocs/
Run Code Online (Sandbox Code Playgroud)
这个错误似乎可以通过添加来解决
<directory "E:/Documenten/Dropbox/Dropbox/dummy-htdocs">
Allow from all
</directory>
Run Code Online (Sandbox Code Playgroud)
但现在我在dropbox.local-error.log中收到此错误:
[Thu Feb 02 10:45:56 2012] [error] [client ::1] Directory index forbidden by Options directive: E:/Documenten/Dropbox/Dropbox/dummy-htdocs/
Run Code Online (Sandbox Code Playgroud)
此外,当我尝试访问时httpd-vhosts.conf,我没有在常规中得到任何错误dropbox.local-error.log,虽然我得到了dropbox.local-error.log当我尝试访问它时.
任何人都可以帮忙......这让我很生气:S
编辑:还有http://localhost以下(我已经多次提到它,所以在任何人说之前):
<IfModule dir_module>
DirectoryIndex index.php index.pl index.cgi index.asp …Run Code Online (Sandbox Code Playgroud)