Articles of 正则expression式

如何从基本身份validation(正则expression式帮助)排除文件夹中的文件?

我在我的网站上有一个文件夹,其中包含pipe理文件,我已经添加了基本身份validation以下一些不必要的注意。 这工作正常,但是一些pipe理员function不能通过基本的身份validation工作,因为他们处理file upload,所以我想排除这些文件从身份validation。 它不应该有任何安全隐患,因为任何stream氓用户都无法访问可以创build会话来使用这些function的页面。 我正在使用以下基本代码来排除文件: <FilesMatch "(index.php\/myadminfolder\/myurl\/myaction/someotherstuff?)$"> Satisfy Any Order allow,deny Allow from all Deny from none </FilesMatch> url排除function无效。 要排除的URL格式如下: index.php文件/目录/子目录/动作/ UNIQUEID /嗒嗒 什么是正确的URLstring添加到FilesMatch排除任何以index.php /目录/子目录/动作模式开始的文件 – 无论行动之后? 谢谢 西蒙

如何在Apache中使用NOT条件将Web请求redirect到某个页面

我想redirectNOT(main.php)的所有请求到handelrequest.php?page = [page] 所以它一定是这样的: RewriteRule !(main.php) handlerequest.php?page=$1 要么 RedirectMatch !(main.php) handlerequest.php?page=$1 但似乎这些模块根本没有否定 也许可以把它结合起来。 就像是: RewriteRule (main.php\?.*) $1 RewriteRule (*) handlerequest.php?page=$1 如果不是main.php,否则对于其他所有其他规则,第二条规则变为活动状态。 有一些解决scheme吗? 感谢您的提前。

将文件夹中的所有图像移动到子文件夹,并将这些图像的所有引用更新到新的位置?

我有一个文件夹,其中包含~50个文本文件(PHP)和数百个图像。 我想将所有的图像移动到一个子文件夹,并更新PHP文件,所以对这些图像的任何引用指向新的子文件夹。 我知道我可以很容易地移动所有的图像(mv * .jpg / image,mv * .gif / image等),但不知道如何去更新所有的文本文件 – 我假设一个正则expression式必须创build匹配文件中的所有图像,然后以某种方式新的目录必须附加到图像文件名? 这最好用一个shell脚本来完成吗? 任何帮助表示赞赏(服务器是Linux / CentOs5) 谢谢!

pop-before-smtp $ pat正则expression式for iFedmail中的Dovecot

我在邮件服务器(iredmail)中安装了pop-before-smtp。 我需要帮助来configuration$ pat来读取我的鸽子文件的模式。 鸽舍日志文件是这样的: 2011-05-14 14:01:21 pop3-login: Info: Login: user=<[email protected]>, method=PLAIN, rip=180.234.45.133, lip=66.165.162.157 2011-05-14 14:01:22 POP3([email protected]): Info: Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0 2011-05-14 14:01:52 pop3-login: Info: Login: user=<[email protected]>, method=PLAIN, rip=180.234.45.133, lip=66.165.162.157 2011-05-14 14:01:53 POP3([email protected]): Info: Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0 pop-before-smtp脚本默认为Dovecot提供这种模式。 但这不适合我 没有3的模式。 # For Dovecot POP3/IMAP when using syslog. $pat […]

HAProxy reqirep设置导致504网关超时

我试图通过HAProxy重写单个path。 没有适当的规则,目录页面(从IIS节点)返回404。 一旦添加规则,一分钟左右后,页面会返回504网关超时。 backend Example_Backend balance uri reqirep ^([^\ ]*)\ (.*)/directory/?[\ ] \1\ \2/target.asp\ server Server1 xxxxx4:80 weight 25 check fall 10 rise 2 maxconn 40 server Server2 xxxxx5:80 weight 25 check fall 10 rise 2 maxconn 40 server Server3 xxxxx6:80 weight 25 check fall 10 rise 2 maxconn 40 server Server4 xxxxx7:80 weight 25 […]

帮助简单的mod_rewrite需要

我的网站使用mod_rewrite来查找网站中的大部分url。 例如。 domain.com/contact.htm domain.com/product/details.htm 我有domain.com/contact.htm工作了很长时间,很简单,但不幸的是,我不能为我的生活让子文件夹重写工作,以便我可以去domain.com/product1/about.htm没有它带我直接到404页面。 这里是我的.htaccess的摘录。 RewriteRule ^product1/([^/]+).htm$ /product1/index.php?p=$1 [L] #Even hardcoded isn't working… RewriteRule ^([^/]+)/([^/]+)/([^/]+).htm$ /$1/$2/index.php?p=$3 [L] RewriteRule ^([^/]+)/([^/]+).htm$ /$1/index.php?p=$2 [L] RewriteRule ^([^/]+).htm$ /index.php?p=$1 [L] 这些规则在http://martinmelin.se/rewrite-rule-tester/上正常工作,但在实践中似乎从未奏效。 我想在这方面得到一些帮助。 编辑:仅供参考,这是位于domain.com的根www文件夹中的单个.htaccess文件。 谢谢。

是否可以使用一个<ProxyMatch>规则匹配多个正则expression式?

我有一个生产,testing和开发服务器的网站,我维护。 所有三台服务器都在Debian 6 GNU / Linux上运行Apache 2.2.16。 我在testing服务器上build立了一个新版本的公司网站,我的团队认为它足够稳定,可以转移到生产环境。 但是,我想尽可能无缝地进行这种转换。 我希望能够在生产服务器上转发请求,以便它们由testing服务器处理。 这样,我可以testing出这个新的实现,而不需要在生产服务器上进行任何复杂的configuration更改。 理想情况下,我可以使用Apache的mod_proxy模块来设置反向代理,以便我可以直接从testing服务器向生产客户端提供页面。 我阅读http://httpd.apache.org/docs/2.0/mod/mod_proxy.html的文档,这对我很有帮助。 我启用了mod_proxy和mod_proxy_http ,然后在我的开发服务器上设置了以下规则。 <VirtualHost *:80> ServerName dev.example.com # … other <VirtualHost>-specific settings … ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://test.example.com/ ProxyPassReverse / http://test.example.com # … various <Directory> directives … </VirtualHost> 这工作得很好。 当我访问开发服务器时,站点直接从testing服务器提供所有页面,而且看起来好像这些响应直接来自我连接的服务器。 而且,这些请求相当快速,我能够同时进行GET和POST请求,就好像我正在直接与testing服务器交谈一样。 不幸的是,这不符合我的所有需求。 由于testing服务器仅以新版本的站点运行Apache,因此我无法从testing服务器托pipeWebmail或用户。 这些请求必须由生产服务器来处理。 我希望我的生产服务器能够使用反向代理除了 […]

我可以将IIS重写规则写入文件吗?

在我的问题上扩展是否有可能写一个正则expression式来捕获其他人在IIS中错过的匹配? 我想知道是否可以将重写规则写入文件。 例如,如果找不到文件test.aspx,而不是redirect用户,它将被logging到文件中。

需要根据string模式匹配在uri中redirect到静态url

我有siteminder保护Oracle ADF Java应用程序。 看来我将不得不截获一个由Oracle提供的注销链接的http reqeust来杀死siteminder会话。 我已经缩小到一个用户注销时URI logout = true的参数。 我想mod_rewritefind这个string,并redirect到本地定义到apache代理的静态注销页面。 这可行吗?

apache虚拟主机:自动子域名exception

我一直在寻找一种方法来自动redirect域到一个特定的文件夹,并喜欢在这里的serverfault: Apache2的VirtualHost自动子域的一个很好的答案。 (接受的答案) 到目前为止一切正常,但现在我需要添加一个例外。 我想要的结果是这样的: http://localhost/ –> E:/websites/ http://specialDomain2/ –> E:/websites/ http://normal1.com/ –> E:/websites/normal1.com/ http://normalDomain.com/ –> E:/websites/normalDomain.com/ 我得到最后两个域的结果,但localhost不起作用。 我从上面的问题复制脚本,并试图添加类似的东西 <VirtualHost *:80> RewriteEngine On RewriteMap lowercase int:tolower # if already rewitten and we have the right path, stop right here RewriteRule ^(E:/websites/[^/]+/.*)$ $1 [L] RewriteRule ^localhost/(.*)$ E:/websites/$1 [L] # <– Added this row RewriteRule ^(.+) ${lowercase:%{SERVER_NAME}}$1 […]