Articles of 正则expression式

URL重写正在产生404

我正在尝试使用下面的规则将office.domain.com/app1请求重写到server3:81 ,但是我得到了404。我可以浏览到server3:81就好了。 失败的请求跟踪日志在这里可用,但它们似乎没有透露太多。 我也试过url="http://server3:81/{R:0}"和url="http://server3:81/{R:1}" (不知道为什么/有什么区别) ,但都产生相同的结果(404)。 我在做什么错在我的规则? (警告:我现在对RegEx很不方便,但是我会尽我所能来理解你的答案,我可能不得不要求澄清。) <rule name="App1" stopProcessing="true"> <match url="^app1" /> <action type="Rewrite" url="http://server3:81/" /> </rule>

正则expression式在Exchange传输规则

我们正在收到电子邮件地址中包含无效字符的外部电子邮件,这些电子邮件导致链接到邮箱的应用程序出现问题。 收件人地址包含单引号(“[email protected]”)或尾随期([email protected])。 我想知道是否可以在传输规则上设置正则expression式来过滤这些电子邮件,并将其发送到正确的地址,即[email protected]。 由于有多个邮箱,我不想为每个邮箱创build一个规则。 任何指导将不胜感激。 谢谢

Nginx重写删除.php文件没有效果,只能redirect到主页

我试图重写从我的url中删除.php,但迄今没有运气。 这是我到目前为止,然后我的结果下面的这个configuration。 location ~ \.php$ { try_files $uri/ @extensionless-php; include fastcgi_params; fastcgi_pass hhvm; fastcgi_cache_bypass $skip_cache; fastcgi_no_cache $skip_cache; fastcgi_cache ASPS; fastcgi_cache_valid 200 60m; } location @extensionless-php { rewrite ^(.*)$ /$1.php last; } 这导致: example.com/page1.php转到example.com/page1.php并正确渲染example.com/page1渲染index.php example.com/page1/渲染index.php 有没有人遇到过这个? 这似乎是一个非常普遍的事情,但我有几个小时的麻烦,并无休止地在网上search。 谢谢你的帮助!

nginx和site.erb:标记为两个不同域和两组不同IP的内部用户

我有一个nginx服务器和一个site.erb文件和两个不同的域(域1和域2)。 目前,当某人从特定的一组远程IP地址( set $analytics "'userType': 'internal'" )访问网站时,会设置一个标签(用于Google跟踪代码pipe理器),并将此信息发送给Google Analytics: # Set userType variable for Google Tag Manager (default is external) set $analytics "'userType': 'external'"; # LAN traffic is internal therefore, if ($remote_addr = zzz.zzz.zzz.zzz) { set $analytics "'userType': 'internal'"; } # The Wifi traffic is internal therefore, if ($remote_addr = yyy.yyy.yyy.yyy) { set $analytics "'userType': 'internal'"; […]

修复php-url-fopenfilter的fail2ban正则expression式规则

我正在修复默认的php-url-fopenfilter,以允许我在我的系统中使用一些GET查询参数(它不是公开的,但我仍然想阻止不必要的请求)。 问题是,我得到了一个参数名称的工作正则expression式,但我不能得到两个参数的工作正则expression式,其中第二个opiton是从两个名称组合。 我正在使用fail2ban 0.8.11 – 这是工作(失败)正则expression式: ^<HOST> -.*"(GET|POST).*\?.*(?<!outer)\=http\:\/\/.* HTTP\/.*$ 这是不正常的正则expression式: ^<HOST> -.*"(GET|POST).*\?.*(?<!outer|type\=outer\&url)\=http\:\/\/.* HTTP\/.*$ 当我尝试使用非工作正则expression式启动fail2ban服务时,我收到以下消息: ERROR NOK: ('Unable to compile regular expression \'^(?:::f{4,6}:)?(?P<host>[\\w\\-.^_]*\\w) -.*"(GET|POST).*\\?.*(?<!outer|type\\=outer\\&url)\\=http\\:\\/\\/.* HTTP\\/.*$\'',) 任何帮助,将不胜感激。

过滤Berkeley Research使用Logcheck扫描Nginx日志

我得到http://researchscan1.eecs.berkeley.edu/ (和其他人)的Nginx日志条目,请求中有很多特殊字符,我试图过滤出来。 例如: 2016/07/19 09:54:49 [error] 2006#2006: *5878 testing "//http" existence failed (2: No such file or directory) while logging request, client: 169.229.3.91, server: common.example.co.uk, request: "J/¤nkb=© 2]rµÐ['lç¢î/€@I"- 2016/07/19 11:29:05 [error] 2007#2007: *5945 testing "//http" existence failed (2: No such file or directory) while logging request, client: 169.229.3.91, server: common.example.co.uk, request: "i•jœ»@d‹˜þˆ¿–j•c|B‹¤¯Dñ½°|ôáV*Õ8ÓãÎð€í)ÑYCæôì £¶›¬Dxîoÿv.N" 我通常的Logcheck正则expression式为这种请求: ^[[:digit:]]{4}/[[:digit:]]{2}/[[:digit:]]{2} […]

使用Mod Rewrite / Regex解码URL查询string

我有以下编码的url https://example.com/external-image?url=http%3A%2F%2Fwww.thirdpartydomain.com%2FTWM%2FImages%2F1264%2F143242%2FFull%2F2201625016119496.jpg 我使用国防部重写parsing查询string,然后代理的url。 我这样做的原因是从其他第三方网站使用我自己的SSL安全的共享图像。 下面的代码包含非编码的查询参数,这些参数可以很好地工作。 示例url https://example.com/external-image?url=http://www.thirdpartydomain.com/TWM/Images/1264/143242/Full/2201625016119496.jpg 示例代码 RewriteCond %{QUERY_STRING} url=((?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n]+).*) [NC] RewriteRule ^.*/external-image$ %1 [P,NC,L,E=new_host:%2] <If "-T reqenv('new_host')"> RequestHeader set Host %{new_host}e </If> 我的目标是编码我的查询参数在浏览器中形成一个有效的url,然后解码查询参数之前,我代理的url。 任何人有任何想法来处理这个最好的方法?

如何简化Nginx的映射正则expression式的规则?

我不知道这个问题是否被允许。 如果没有,原谅我:) 无论如何,我有一个nginxredirect的映射规则 /hotel/xyz/abc /hotel/xyz/abc-nana; /hotel/xyz/abc/ /hotel/xyz/abc-nana; ~^/hotel/xyz/abc\?(.*) /hotel/xyz/abc-nana?$1; 我的问题是,他们可以合并成一个规则? 我不太了解正则expression式

Postfix LogParser脚本

我寻找一个脚本/工具或其他解决scheme,能够通过大量的mail.log文件和grep了某些用户的活动。 当前(甚至是最新的2016 postfix)日志文件的问题,无论什么时候进入的条目,例如: Nov 30 11:58:21 mail postfix/qmgr[28062]: 4CCA2480E55: from=<[email protected]>, size=36461, nrcpt=1 (queue active) Nov 30 11:58:21 mail postfix/smtpd[5994]: connect from localhost[127.0.0.1] Nov 30 11:58:21 mail postfix/smtpd[4815]: disconnect from mail.company.com[1.2.3.4] Nov 30 11:58:21 mail postfix/smtpd[5994]: 8536A480E57: client=localhost[127.0.0.1] Nov 30 11:58:21 mail postfix/cleanup[4225]: 8536A480E57: message-id=<[email protected]> Nov 30 11:58:21 mail postfix/qmgr[28062]: 8536A480E57: from=<[email protected]>, size=35298, nrcpt=1 (queue active) […]

从URL haproxy中删除

我有一个haproxy服务器,我需要它来重写URL。 例如,我有一个这样的url: http://myserver.com/UserName/signalr/connect… 我需要删除用户名,所以当haproxy转发到服务器的URL变成: http://myserver.com/signalr/connect… 如果我知道用户名,那么这个工程: reqrep ^([^\ ]*\ /)UserName[/]?(.*) \1\2 我的问题是,UserName不是一个静态的,但总是在URL的相同的地方,直接在域。 任何帮助赞赏。