使用Nginx 0.7.65,我花了几个小时试图获得一个简单的nginx重写工作。 但是,这两个正斜杠似乎不能正常工作: url之前: http : //www.testme.com/uploads//image.jpg url之后: http : //www.testme.com/uploads/300/image.jpg 我在我的nginx.conf中使用了下面的重写部分: #try 1 location ~* \.jpg { (.*)//(image.jpg) $1/300/$2 permanent; } 它没有工作。 任何想法如何让nginx重写正确的工作与两个正斜杠? 我尝试使用//跳出斜杠,但这也没有帮助。 我应该尝试更新到Nginx 0.8,并应该修复它? 我也试过这些(分别),他们没有工作。 我被redirect到一个404错误页面: #try 2 location ~* \.jpg { rewrite "^(.*)([/]{2})image\.jpg$" $1/300/image.jpg permanent; } #try 3 location ~* \.jpg { rewrite (.+)//image\.jpg $1/300/image.jpg permanent; } #try 4 location ~* […]
我很确定这是一个真正的正则expression式问题,所以如果你想跳过背景,你可以跳到REGEX QUESTION。 我们的主要防火墙是运行Fireware XTM v11.2的Watchguard X750e。 我们正在使用webblocker来阻止大部分的类别,我允许需要的网站出现。 一些网站很容易添加为例外,如潘多拉电台。 那只是一个与“ padnora.com/ ”模式匹配的例外模式。 所有来自pandora.com上的stream量都是允许的。 我在更复杂的域中遇到麻烦,这些域从基本域引用内容。 我们将以GrooveShark为例。 如果您访问http://grooveshark.com/并查看页面源代码,则会看到hrefs指向gs-cdn.net以及grooveshar.com。 所以在grooveshark.com/上添加一个WebBlocker例外是无效的,我必须添加第二个允许gs-cdn.net/的规则。 我看到WebBlocker允许使用正则expression式规则,所以在这种情况下我想要做的是创build一个正则expression式规则,允许所有需要的域的stream量。 REGEX问题:我想尝试一个匹配grooveshark.com/和gs-cdn.net/的正则expression式。 如果有人可以帮我写这个正则expression式,我会很感激。 以下是该部分WatchGuard文档中的内容:正则expression式 正则expression式匹配使用Perl兼容的正则expression式进行匹配。 例如,。[onc] [eor] [gtm]按照顺序与.org,.net,.com或每个括号中的一个字母的任何其他三个字母组合相匹配。 请务必删除前导“http://”支持shell脚本中使用的通配符。 例如,“(www)?watchguard。[com | org | net]”将与URLpath匹配,包括www.watchguard.com,www.watchguard.net和www.watchguard.org。 谢谢大家!
我想从yum版本库安装一批openoffice.org- *包。 问题是,我想在我做这个时候排除几十个openoffice.org-langpack *文件。 我也不想运行两个命令(即yum install openoffice.org-*;yum remove openoffice.org-lang* )。 我试图运行命令yum install openoffice.org-[^l].*没有任何运气,因为它寻找一个完全打印input的包。 我可以运行什么命令来实现?
如果收件人匹配某些地址,我希望将回复字段设置为邮件的发件人。 我知道我可以像这样做一个正则expression式来做到这一点 /^(To|Cc):.*[email protected]/ PREPEND Reply-To: [email protected] 但是,这将是静态的,有没有办法设置消息的发件人?
我有一个htdocs目录,我正在服务几个Microsoft Word文档。 当某人正在编辑文档时,文档的名称会变成如下所示:“ 〜$ my_document.doc ”,还会创build代表文档编辑的.tmp文件,直到文档closures。 所以,我希望Apache在用户完成编辑之前不要提供这些文件。 所以,我想隐藏以.tmp扩展名结尾的文件,同时隐藏以“ 〜$ ”开头的文件。 那么,任何人都可以帮助我提高这个Apache指令来完成这个? <Directory "C:/Apache2.2/htdocs"> <Files ~ "\.tmp$"> Order allow,deny Deny from all </Files> ….. </Directory> 这是一个正常的expression技巧,现在超出了我的能力。
我不明白为什么前两个是一场比赛/命中,但第三个是一个小姐? -bash-3.2# cat 1361492805.M171838P41834.mx1.alexus.biz\,S\=12921\:2\,Sijm | pcregrep -q '.*languager.*' ; echo $? 0 -bash-3.2# cat 1361492805.M171838P41834.mx1.alexus.biz\,S\=12921\:2\,Sijm | pcregrep -q '.*Preferences.*' ; echo $? 0 -bash-3.2# cat 1361492805.M171838P41834.mx1.alexus.biz\,S\=12921\:2\,Sijm | pcregrep '.*languager.*Preferences.*' ; echo $? 1 -bash-3.2# cat 1361492805.M171838P41834.mx1.alexus.biz\,S\=12921\:2\,Sijm | grep -no 'language' 70:language -bash-3.2# cat 1361492805.M171838P41834.mx1.alexus.biz\,S\=12921\:2\,Sijm | grep -no 'Preferences' 149:Preferences -bash-3.2# 有一件事,尽pipe这些单词分别位于不同的行上,也许这就是为什么? *更新* -bash-3.2# pcregrep -M […]
如果在Tomca7上运行一个web应用程序,我不想和我们的Nagios进行核对。 我决定用正则expression式来使用check_http插件。 我正在parsingtomcat的状态页面,并检查列“Running”是否为真。 状态页面的源代码如下所示(剪切): <td class="row-left" bgcolor="#FFFFFF" rowspan="2"><small>Applicationname</small></td> <td class="row-center" bgcolor="#FFFFFF" rowspan="2"><small>true</small></td> 这两个信息分为两行。 所以我要检查的是以下内容: ./check_http -I 111.111.111.111 -p 8080 -a user:password -u /manager/html -rl 'Applicationname</small></td>\n.<td class="row-center" bgcolor="#FFFFFF" rowspan="2"><small>true' 问题是,当我使用参数“-l”时,插件的响应总是为真(“HTTP OK”)。 另外,当我修改searchstring像这样强制一个关键: ./check_http -I 111.111.111.111 -p 8080 -a user:password -u /manager/html -rl 'Applicationname</small></td>\n.<td class="row-center" bgcolor="#FFFFFF" rowspan="2"><small>fail_true' 我不知道这是为什么发生。 有人有任何想法? 谢谢,阿尼
我有以下由服务器日志文件生成的string。 我正在使用简单事件相关(使用perl正则expression式)来操纵行: 18:37:31 643.65.123.123 []sent /home/mydomain/public_html/court-954fdw/Chairman-confidential-video.mpeg 226 [email protected] 256 我已经成功地使用perl正则expression式成功地提取用以下模式login的用户。 注: SEC使用的值是从括号中的数据中提取的: pattern=sent \/home\/mydomain\/public_html\/(.*)\/(.*) 但是,在parsing这个文件名时,我一直没有成功,在这种情况下,这个文件名是: Chairman-confidential-video.mpeg 。 目前,我使用的现有模式拉出整个string: Chairman-confidential-video.mpeg 226 [email protected] 256 我不想要。 任何帮助非常感谢。
我的一台服务器在几天前遭到了DDoS的攻击,持续了4天。 以下是请求的日志片段: 36.224.180.253 – – [14/May/2013:03:11:46 +0800] "GET //?f5b2fd2f860dc=9597624054932145 HTTP/1.1" 301 178 "-" "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.14" 36.224.180.253 – – [14/May/2013:03:11:50 +0800] "GET //?d69e553a2e8cc=8383534686131949 HTTP/1.1" 301 178 "-" "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.14" 36.224.180.253 – – [14/May/2013:03:11:53 +0800] "GET //?cd28bceecb2f7=8014028628342069 HTTP/1.1" 301 178 "-" "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 […]
如果我跑 fail2ban-regex '31.22.105.115 – – [11/Apr/2014:18:09:54 +0100] "GET /admin/config.php HTTP/1.0" 301 573 "-" "-"' '^<HOST> – – (?:\[[^]]*\] )+\"(GET|POST)/(?i)(PMA|phptest|phpmyadmin|myadmin|mysql|mysqladmin|sqladmin|mypma|admin|xampp|mysqldb|mydb|db|pmadb|phpmyadmin1|phpmyadmin2|cgi-bin)' 然后我得到Success, the total number of match is 1 。 然而,如果我有一个access.log包含 . . 109.68.191.26 – – [11/Apr/2014:12:47:50 +0100] "GET / HTTP/1.0" 301 541 "-" "masscan/1.0 (https://github.com/robertdavidgraham/masscan)" 31.22.105.115 – – [11/Apr/2014:18:09:54 +0100] "GET /admin/config.php HTTP/1.0" 301 573 "-" […]