Tag: Apache

使用mod_rewrite将带有散列字符的path转换为查询string

我有一个PHP项目,我需要在URL的path中发送哈希字符(#)。 ( http://www.example.com/parameter#23/parameter#67/index.php )我以为urlencode会允许,将散列转换为%23 但是现在我看到,甚至urlencoded哈希都强制浏览器将所有东西都作为URL片段(或查询)来处理。 有没有办法通过一个哈希,或者我需要做urlencode之前的字符replace? 编辑添加(2017年9月19日): 原来我是在问错误的问题。 我的问题不是在path中使用散列字符(对其进行编码),而是使用mod_rewrite将其转换为查询string。 我没能在RewriteRule中重新编码它。 我将编辑标题以匹配。 这是我正在使用的重写规则: RewriteEngine On # convert path strings into query strings RewriteRule "^(.*)/(.*)/hashtags.php" /hashtags.php?parameter_1=$1&parameter_2=$2 [QSA,L] 一旦我添加了B标签,它正常工作: RewriteEngine On # convert path strings into query strings RewriteRule "^(.*)/(.*)/hashtags.php" /hashtags.php?parameter_1=$1&parameter_2=$2 [QSA,L,B]

所以日食和xdebug走进一个酒吧,然后我的Apache服务器死亡

我正在使用windows xp x86,wamp,apache2,php 5.3 x86,eclipse php和xdebug,作为虚拟主机和https虚拟主机在本地主机上运行 日食版本信息 Eclipse for PHP开发者版本:Helios发布版本号:20100617-1415 我已经成功地pipe理,以设置日食和xdebug,一切都很好。 然后,我不得不作出我的项目svn分支,并重新configurationApache 2个新的虚拟主机,并更新我的Windows主机文件。 现在当我在eclipse中启动debugging模式时,所有东西都死掉了 具体来说,如果我没有设置断点,应用程序运行良好,保存我试图首先debugging的问题。 如果我设置了一个断点,应用程序就停在断点处,并且eclipse似乎在持球。 但现在,当我按下继续,或踩过,或踩到,或打喷嚏,日食告诉我执行已经恢复,但应用程序继续挂起,我必须重新启动Apache。 我怀疑在eclipse和xdebug之间的通信有一些中断,因为它看起来像eclipse发送我的继续或步进命令,但xdebug没有收到它。 但即使如此,我也不知道该怎么办。 我应该在哪里看? 更新: 我已经成功地使用notepad ++,它的xdebug插件进行debugging,并且像穴居人一样,在url中键入&XDEBUG_SESSION_START = session_name。 不过,尽pipe我非常喜欢npp,但它的debugging插件却相当麻烦。 所以我注意到了一个名为“phpstorm”的东西,它宣称是一个轻量级,但function齐全的PHP IDE,本地xdebug支持的一个广告在stackoverflow。 演示程序需要重新启动才能正常工作,感觉就像是在一张摇摆不定的草稿表上工作,但它能够很好地debugging我的小testing应用程序和真正的应用程序,这比我可以说的更多那一刻,即使它可能是我的错。 我可能应该早些发布:/这里是我的phpinfo()xdebug部分 xdebug xdebug support enabled Version 2.1.0 Supported protocols Revision DBGp – Common DeBuGger Protocol $Revision: 1.145 $ Directive Local Value Master Value xdebug.auto_trace Off Off […]

优胜美地的Apache localhost 403错误

我刚刚安装了Mac OS X优胜美地。 我configuration了Apache,并将“用户/用户/站点”改为755.当我打本地主机时,我收到一个403 Forbidden "You don't have permission to access / on this server" 。 同样的事情发生在我添加到我的主机文件的任何其他网站。 我尝试在这篇文章的帮助下configuration用户目录。 这个MacRumors的线程中的人知道有一个Apache的问题,但没有提供很多的build议。 我的目录权限看起来像这样 drwxr-xr-x 29 root wheel 1054 Aug 11 07:30 / drwxr-xr-x 6 root admin 204 Aug 11 07:29 /Users/ drwxr-xr-x+ 26 zachshallbetter staff 884 Aug 11 11:57 /Users/zachshallbetter/ 0: group:everyone deny delete drwxr-xr-x 5 zachshallbetter staff […]

为什么Spark作业在使用org.apache.spark.shuffle.MetadataFetchFailedException时失败:在猜测模式下丢失shuffle 0的输出位置?

我在推测模式下运行Spark工作。 我有大约500个任务和大约500个1 GB gz的文件压缩。 我一直在进行每项工作,1-2个任务,以及之后重复执行几十次的附加错误(阻止工作完成)。 org.apache.spark.shuffle.MetadataFetchFailedException:缺lessshuffle的输出位置0 任何想法是什么问题的意义,以及如何克服它? org.apache.spark.shuffle.MetadataFetchFailedException: Missing an output location for shuffle 0 at org.apache.spark.MapOutputTracker$$anonfun$org$apache$spark$MapOutputTracker$$convertMapStatuses$1.apply(MapOutputTracker.scala:384) at org.apache.spark.MapOutputTracker$$anonfun$org$apache$spark$MapOutputTracker$$convertMapStatuses$1.apply(MapOutputTracker.scala:381) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33) at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108) at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) at scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:108) at org.apache.spark.MapOutputTracker$.org$apache$spark$MapOutputTracker$$convertMapStatuses(MapOutputTracker.scala:380) at org.apache.spark.MapOutputTracker.getServerStatuses(MapOutputTracker.scala:176) at org.apache.spark.shuffle.hash.BlockStoreShuffleFetcher$.fetch(BlockStoreShuffleFetcher.scala:42) at org.apache.spark.shuffle.hash.HashShuffleReader.read(HashShuffleReader.scala:40) at org.apache.spark.rdd.ShuffledRDD.compute(ShuffledRDD.scala:92) at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:263) at org.apache.spark.rdd.RDD.iterator(RDD.scala:230) at org.apache.spark.rdd.MappedRDD.compute(MappedRDD.scala:31) at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:263) at org.apache.spark.rdd.RDD.iterator(RDD.scala:230) at org.apache.spark.rdd.FlatMappedRDD.compute(FlatMappedRDD.scala:33) at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:263) […]

无法打开文件'svn / repo / db / txn-current-lock':权限被拒绝

我build立了一个Linux服务器,并在其上安装了Apache和SVN以及dav_svn。 现在,当我尝试使用Tortoise SVN上传到https://xxxx:x/svn/repo ,我得到 Can't open file '/server/svn/repo/db/txn-current-lock': Permission denied 我已经正确设置我的SSL(我可以结帐,没有问题,甚至远程端口转发)。 我猜这与Linux存储库文件夹的所有权有关,我该如何设置这个/什么是命令?

无法build立SSL连接,我该如何解决我的SSL证书?

我试图wget我自己的盒子,它不能成为wget的内部地址(另一位开发者也这样说)。 当我忘了,我得到这个: wget http://example.com –2013-03-01 15:03:30– http://example.com/ Resolving example.com… 172.20.0.224 Connecting to example.com|172.20.0.224|:80… connected. HTTP request sent, awaiting response… 302 Found Location: https://www.example.com/ [following] –2013-03-01 15:03:30– https://www.example.com/ Resolving www.example.com… 172.20.0.224 Connecting to www.example.com|172.20.0.224|:443… connected. OpenSSL: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol Unable to establish SSL connection. 我相信这是因为我没有正确的证书设置。 使用openssl: openssl s_client -connect example.com:443 CONNECTED(00000003) 15586:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:588: 而如果我在另一个网站上执行相同的命令,则会显示整个证书。 也许ssl证书从来没有在Apache的conf文件中为该域设置? […]

如何为Apache httpd安装mod_ssl?

好 所以我刚刚安装了Apache httpd ,最近又回过头来尝试设置SSL,并让它服务于几个不同的tomcat服务器。 目前,我有两个完全独立的Tomcat实例提供略微不同的版本(一个用于开发,一个用于演示)说我的Web应用程序到两个不同的端口: example.com:8081 example.com:8082 我已经成功(在1 mod_jk )使用mod_jk来让httpd为那些相同的Tomcat实例提供http://www.example.com:8090/dev和http://www.example.com:8090/demo因为我在这个阶段通过Jetty在8080上运行了另一个应用程序)在httpd.conf使用以下代码: LoadModule jk_module modules/mod_jk.so JkWorkersFile conf/workers.properties JkLogFile logs/mod_jk.log JkLogLevel debug <VirtualHost *:8090> JkMount /devd* tomcatDev JkMount /demo* tomcatDemo </VirtualHost> 我没有试图做的是启用SSL。 我已经将以下内容添加到httpd.conf : Listen 443 <VirtualHost _default_:443> JkMount /dev* tomcatDev JkMount /demo* tomcatDemo SSLEngine on SSLCertificateFile "/opt/httpd/conf/localhost.crt" SSLCertificateKeyFile "/opt/httpd/conf/keystore.key" </VirtualHost> 但是,当我尝试重新启动apachectl restart (是的closures了我提到的其他应用程序,所以它不玩弄https连接),我不断得到的错误: 无效的命令“SSLEngine”,可能是拼写错误或未包含在服务器configuration中的模块定义的。 httpd没有运行,试图启动 我查看了httpd/modules目录,确实没有mod_ssl ,只有mod_jk.so和httpd.exp […]

我怎样才能检测和生存“Slashdotted”?

什么是生存exception高stream量高峰的好方法? 我的想法是,在一些触发器,我的网站应该暂时切换到“低带宽”模式:切换到基本的HTML页面,最小的graphics,禁用可能会给数据库不必要的负载的小部件,等等。 我的想法是: 监视CPU使用情况 监控带宽 监视请求/分钟 编辑:我熟悉像caching,切换到静态内容或内容交付networking等选项作为生存的手段,所以也许这个问题应该更多地关注如何检测网站即将过载。 (尽pipe对其他生存方式的回答当然还是值得欢迎的。)比方说,该网站在Linux和PHP上运行Apache。 这可能是最常见的configuration,应该允许最大数量的人从答案中获得帮助。 让我们假设昂贵的选项,如购买另一台服务器和负载平衡是不可用的 – 对于我们大多数人来说,至less在Slashdot提到将是一生一次的事情,而不是我们可以花钱准备。

当DocumentRoot指向两个不同的驱动器时,Apache给我403 Access Forbidden

当试图打开一个虚拟主机下的文件根目录位于apache所在的另一个驱动器上时,我获得了一个403访问权限。 我使用apachefriends发行版进行安装。 这是我的httpd-vhosts.conf文件: NameVirtualHost 127.0.0.1 <VirtualHost 127.0.0.1> ServerName foo.localhost DocumentRoot“C:/ xampp / htdocs / foo / public”</ VirtualHost> <VirtualHost 127.0.0.1> ServerName bar.localhost DocumentRoot“F:/ bar / public”</ VirtualHost> 当我在浏览器中打开bar.localhost时,Apache正在给我403 Access Forbidden。 我尝试设置许多不同的访问权限,即使对每个人都有完全的权利,但没有任何我试过的帮助。 编辑:谢谢! 为了将来的参考,添加“选项索引”以显示目录索引。

在Apache中loggingPOST数据的最佳方法是什么?

想象一下,您有一个网站API,可以以带有参数的GET请求的forms或以POST请求的forms接受数据(比如说,使用标准的URL编码的&分离的POST数据)。 如果你想logging和分析API调用,那么GET请求将很容易,因为它们将在apache日志中。 有没有简单的方法来获取POST数据在Apache日志以及? (当然,我们可以在应用程序中显式地loggingPOST数据,但是我想要一个configuration级别的方式,让我不用担心代码中的问题。)