草庐IT

php - htaccess 阻止访问目录但允许访问文件

我有这样的情况。我正在ZendFramework和htaccess中开发应用程序,将每个请求指向索引.php。如果请求路径上存在某些文件或目录,则htaccess允许访问此文件,如css、js、图像等...现在我有这样的链接:example.com/profile/martin-slicker-i231对于ZendRouter,它指向Controller帐户和操作View配置文件。我想为我的用户添加一些头像,我在公共(public)文件夹中创建了目录(这样图像就可以像css和js一样被服务器访问)。该目录名为“profile”,其中的子目录为“martin-slicker-i231”。

PHP/Apache : Rewrite rules with . htaccess

我对mod_rewrite有点进退两难。我如何编写将决定以下内容的规则:如果我浏览/en/page/page我想将其重写为:index.php?language=en&page=/page但是如果我只浏览/page我想将其重写为:index.php?page=/page这可能吗?编辑:/page只是一个随机的动态页面名称,它也可以是任何。我需要一个规则来检查/se==一个字符串,并且不超过2个字符>/page-->index.php?lang=se&page=/page如果浏览页面/page它将注意到/page==长于2个字符并重写为index.php?page=/page编辑2:找到

每个目录的 PHP ini 指令取决于 request_uri

我正在尝试更改上传的大小限制。我知道我必须在Apache配置中更改这些指令(有些不能使用ini_set更改)php_valuesession.gc_maxlifetime3600php_valuemax_input_time3600php_valuemax_execution_time3600php_valueupload_max_filesize10Mphp_valuepost_max_size110M不幸的是,我不能直接在中这样做我的虚拟主机,因为目录总是相同的(我使用的是前端Controller,因此所有请求都通过index.php并被分派(dispatch)到正确的Contro

php - 如何重定向 Apache "Index of ..."页面?

我正在尝试通过Apache的autoindexmodule使用PHP在Apache中实现经过身份验证的文件列表.我想象的方式是让Apache运行一个PHP脚本作为headerfile.我已经设法让Apache为头文件正确运行PHP,它也能很好地检测到登录cookie。但似乎Apache将头文件作为单独的请求运行,这意味着如果我尝试从PHP发送重定向header,它不会运行。我的(简化的)Apache配置:DocumentRoot"/path/to/files_root"Alias/~extra"/path/to/extra-data"Options-Indexes-MultiViews

c# - 使用您自己的 apache thrift 通信协议(protocol)?

我想知道是否可以只使用apachethrift的序列化部分。我基本上已经创建了一个自定义通信协议(protocol),并且想将一个thrift对象从我的服务器(PHP)传递到客户端(C#)。我自己开发的通信协议(protocol)基本上是JSON。我想使用thrift在PHP端正确构建对象,然后通过JSON发送它,然后我的C#应用程序将使用thrift--gencsharpmyfile.thrift生成的类重新构建对象有谁知道这是否可行或我应该从哪里开始?我会以某种方式重载TProtocol吗? 最佳答案 是的,您可以仅将Thrif

php - 如何让 Apache 停止缓冲 POST 数据?

当通过XHR流将文件上传到Apache网络服务器上运行的PHP脚本时,某些东西会缓冲整个POST正文,然后在整个文件上传后将其传递给PHP。这非常耗费内存,而且不是最优的。我有另一台配置大致相同的服务器,它将POST数据直接流式传输到PHP脚本,从而导致内存使用率低。我这辈子都搞不清楚配置上的差异。是否有任何明显的设置“BufferPostBodyYes”我应该寻找?到目前为止我尝试了什么禁用mod_security通过HTTP而不是HTTPs发送文件检查apache日志、php日志、系统日志。没有错误或警告。我如何测试行为开始通过XHR流通过JS上传大文件(235M)。PHP应在请求

php - 使用 apache 配置为每个站点指定 PHP 包含目录

我最近切换到fastcgi,现在我在设置之前在.htaccess中设置的php包含路径时遇到问题:php_valueinclude_path"[INCLUDEPATH]"由于切换,这给出了错误:Invalidcommand'php_value',perhapsmisspelledordefinedbyamodulenotincludedintheserverconfiguration据我所知,'php_value'不能通过htaccess和fastcgi设置。有什么方法可以解决这个问题或全局指定带有子目录的整个站点的php包含路径,例如通过apache配置?我知道我可以在php中的每个

php - Mac OS X 10.9 连接到的未知 SSL 协议(protocol)错误

我将我的macOS更新到OSX10.9。OSX10.9/Apache2.2.24/PHP5.4.17现在在尝试通过cURL连接到我们的远程服务器时收到错误(连接到...的未知SSL协议(protocol)错误)。DEFINE("SSL_CERTTYPE","PEM");DEFINE("SSL_KEYPASS","xxxxxxxxx");DEFINE("SSL_CERT",$_SERVER['DOCUMENT_ROOT']."/certs/mycert.pem");DEFINE("SSL_KEY",$_SERVER['DOCUMENT_ROOT']."/certs/mycert.key"

php - 在 Apache2/Cake PhP 中定义文档根目录

我有一个损坏的CakePHP站点,不是我写的,但我负责修复。我启动了主Controller,但是没有css/js/images,当我单击一个链接时,我收到404notfound。我相信mod_rewrite或apache中的docroot配置有问题。在阅读Cake文档时,我遇到了这个:“应用程序/网络根目录在生产设置中,此文件夹应作为应用程序的文档根目录。此处的文件夹还用作CSS样式表、图像和JavaScript文件的存放位置。”在我的/etc/apache2/sites-enabled/this-site中,我看到了这个:DocumentRoot/u02/data/docroots/

apache - php-fpm - 如何将某些符号链接(symbolic link)作为 PHP 脚本执行

我正在运行带有FastCGI和php-fpm的Apache2.2。我正在尝试复制以下逻辑:#ForceTypeapplication/x-httpd-phpSetHandlerphp-fcgi这允许我将admin.php符号链接(symboliclink)为管理员,因此我可以删除.php扩展名。似乎使用php-fpm执行此操作的唯一方法是将www.conf文件的security.limit_extension设置为空,但是,如注释所示,这是一个相当大的安全漏洞,因为现在可以从任何文件中执行php代码,而不管扩展名是什么。实现上述目标的首选方法是什么,但仍能保持一定程度的安全性?