草庐IT

mod_rewrite

全部标签

php - mod_rewrite 能否在 URL 中找到一个变量,替换它之前的部分,删除变量并保留剩下的部分?

我环顾四周,但坦率地说,我不确定我需要搜索哪些术语才能获得更准确的结果。哎呀,我正在为urlvs.urivs.pagevs.link以及每一个是什么而不是什么而苦苦挣扎。MOD_REWRITE指南似乎是为精通Apache或Unix或其他任何东西的人编写的,尤其是当他们似乎都没有解释或解析示例以了解每个“编程”字符的作用或含义时。在我尝试涵盖...概念的前25个搜索结果中,我似乎没有在Google和整个Google上得到任何我想要的东西。好吧,我想做的是根据三个变量替换URL的通配符字符串,同时保留其他位。这可能使用mod_rewrite吗?例如三个请求的URL是:http://mydo

php - 处理 : libapache2-mod-php5 php5 php5-cli 时遇到错误

我现在使用的是Ubuntu11.10。当我努力通过键入安装php5时sudoapt-getinstallphp5我遇到了这个错误:......Errorswereencounteredwhileprocessing:libapache2-mod-php5php5php5-cliE:Sub-process/usr/bin/dpkgreturnedanerrorcode(1)我试过再做一次,但还是出现了同样的错误。然后有人建议我删除它。我做了:sudoapt-getremove--purgephp5得到这个错误:Readingpackagelists...DoneBuildingdepen

php - mod_php APC 被符号链接(symbolic link)混淆,包含相同的文件两次 - 为什么?

我为文件夹(比如website)设置了一个Apachevhost,它是另一个链接到当前版本文件夹(比如website_N)的符号链接(symboliclink)其中N是版本号(website->website_123)。部署新版本时,将创建另一个名为website_N+1的文件夹,当其内容准备就绪时,将重新创建website符号链接(symboliclink)以链接到该新文件夹(website->website124).这个设置似乎混淆了APC的包含缓存。有时(不总是,这很烦人)在新部署之后,应用程序中的以下符号链接(symboliclink)开关include和require指令开始

php - 通过 mod_proxy 使用 Apache 和 PHP-FPM 禁用输出缓冲区

在将Apache与PHP作为模块一起使用时,只要PHP生成内容就可以输出内容,因为您可以简单地禁用PHP中的output_buffering并使用flush()或implicit_flush(1)。这是我以前使用的,效果很好。自从切换到PHP-FPM后,我遇到了一个问题,在整个脚本完成之前,我无法让Apache(2.4)输出PHP的内容。我仍然关闭了output_buffering并进行了刷新,但这还不够。Apache没有使用mod_gzip(无论如何这都会影响PHP模块)。Nginx有一个禁用proxy_buffering的选项,通过阅读其他人的评论修复了这个问题,但我找不到在Apa

php - Apache mod-rewrite htaccess - 带参数的动态 url

我正在尝试获取以下动态URL:http://example.com/pdfs/viewpdf?id=1494要在浏览器的地址栏中重写:http://example.com/pdfs/1494/1494.pdf基本上,用户输入请求以查看文件/Web服务器上可用的PDF,并根据提供的ID号重写URL以从DOCUMENT_ROOT/pdfs/下的子文件夹中检索文档其文件夹名称与提供的ID以及与同一ID匹配的PDF文件名相匹配。接下来我可以尝试什么?我尝试过的一切都不起作用。 最佳答案 在root/.htaccess中尝试以下规则:Rewr

php - 我可以使用 .htpasswd 来保护不存在的目录(虚拟 m​​od_rewrite 目录)吗?

我使用前端Controller模式,因此所有请求都通过我的index.php文件进行路由。我想用.htpasswd保护“管理员”Controller(可在mysite/admin/访问)。唯一的问题是,'admin'不是一个目录,而只是一个mod_rewrite。这能做到吗? 最佳答案 我敢肯定,方法不止一种。您可以根据您定义的任何条件使用mod_rewrite和[F]创建访问控制。参见示例Accesscontrolwithmod_rewrite.那就是说你可以完美地做到这一点。[hereyourrules]Require指令有co

php - mod_rewrite 最佳实践

所以我刚开始弄乱Apache的重写模块,并想确保我做对了,因为我已经看到它以几种不同的方式完成。我的示例代码目前只是一个实验,但它最终可能会成为我正在从事的新项目的基本结构。这是我的.htaccess文件:RewriteEngineOnRewriteRule^([a-zA-Z0-9_\-]+)/?$index.php?id=$1[L,NC]我的索引文件:以及默认的homeView模板:Thisisthehomepage.Tothefirstpage.FirstPageTothesecondpage.SecondPage我主要关心的是模板上的anchor标记中只有url“first”和“

php - 如何在 PHP CGI 上检查 mod_rewrite

我在共享主机上,PHP被安装为CGI脚本,这就是我无法确定mod_rewrite是否启用的所有问题注意:我没有任何root级别的访问权限,所以我无法使用Shell。我尝试了以下方法:1)入住phpinfo()我从哪里知道这是在PHP-CGI中寻找的错误位置。2)我已经尝试从apache_get_modules获取它,而agi在PHP-CGI中不起作用:(3)我试过了:if(strpos(shell_exec('/usr/local/apache/bin/apachectl-l'),'mod_rewrite')!==false){//mod_rewriteisenabled}它正在询问a

php - 在 mod_fcgid 中处理太长的请求

目标当我的客户尝试上传的文件太大时,我想向他们显示有意义的消息。问题现在,当我尝试发送太大的请求时,我的mod_fcgid抛出500InternalServerError。我不知道如何通过以下方式判断此错误:display_errors设置为0时出现PHP错误请求uri太长错误的重写规则其他错误配置完全不同的东西如果我要在500ISE处理程序中告诉我的客户“嘿你,你试图上传太大的文件”,它也会触发上述所有内容,这是没有意义的。我尝试过的事情目前我唯一能做的就是使用ErrorDocument500/generic-500.php重定向所有错误。转储$_SERVER和$_REQUEST没有

php - 大文件上传时的 Apache 错误 500 (mod_security)

就我所尝试的而言,常用的解决方案都不适合我。好吧,我的问题是,每次我上传“大文件”(600KB~)时都会收到500错误,而较小的图像效果很好。所以...,即使使用这个(极端的).htaccess文件,它也会继续发生,是的,.htaccess是事件的:upload_max_filesize=100Mpost_max_size=100Mmemory_limit=128Mmax_input_time=6000max_execution_time=6000因此,我查看了日志并发现了这一点(只有一行,只是将其粘贴为易于阅读并带有行跳转):[MonJul2717:09:28.2015][:erro