Articles of 正则expression式

后缀:smtpd_sender_login_maps正则expression式匹配一切,而不是只有SASL

我想防止欺骗,所以我发现这个后缀选项: smtpd_sender_login_maps (default: empty) Optional lookup table with the SASL login names that own the sender (MAIL FROM) addresses. … 然后我find了这个答案: https : //serverfault.com/a/710235/371610 ,说如何使用正则expression式,以便在具有多个虚拟域和许多用户的设置中,不需要编辑表来添加或删除: /等/后缀/ login_map: /^(.*)$/ ${1} /etc/postfix/main.cf文件: smtpd_sender_login_maps=pcre:/etc/postfix/login_maps smtpd_relay_restrictions = permit_mynetworks, reject_sender_login_mismatch, permit_sasl_authenticated, reject_unauth_destination 同样的错误与: smtpd_sender_login_maps=pcre:/etc/postfix/login_maps smtpd_sender_restrictions = reject_unknown_sender_domain, reject_sender_login_mismatch 问题是,正则expression式传入邮件(例如从Hotmail或Gmail)被拒绝的错误: NOQUEUE: reject: RCPT from mail-oln040092064102.outbound.protection.outlook.com[40.92.64.102]: 553 5.7.1 [email protected]: Sender address rejected: […]

后缀:由body_checks完成的replace不是预期的

我想configurationpostfix重写部分的附件,但我不能。 邮件如下所示: Delivered-To: [email protected] Received: by 10.79.105.2 with SMTP id e2csp165490ivc; Wed, 18 Oct 2017 11:12:06 -0700 (PDT) X-Google-Smtp-Source: ABhQp+TMK//6NjfuOypNhxCQAQHvUrdWZcxAZh3saC0FNpk0rdE6pFXcp7oR0GXf5lt+sn4bZ/pU X-Received: by 10.55.162.198 with SMTP id l189mr3754805qke.168.1508350326477; Wed, 18 Oct 2017 11:12:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1508350326; cv=none; d=google.com; s=arc-20160816; b=jC/vVQs5NQsonzZNWfcjVdkwAAPn2MqqCf3vpiYYukZWcj1YfUUGF6DUpHVlFpC88j bstQWyj452iRvLKcQKc86mO2sI9z2tg24mP//VAOQ7vrmP+hc4XEgaEzvHM5QJlS3sFY NHUSz+RfZ0mXbsqkzDtcS01IUc0gzigvBTT7qb/3iM8KwlSLRmelaaZJcq/uiGfcIBYo BcY5mgY+YCSPY76p4Tg45IlhtL2AjX+jGzA790ccG5El9U+Uy7DW2mmjIrJx6KDwYvaP HW7YkFEpnp0Um8lMy1InM5niShjf7su8akxTXgjx1nTtWCiXAuqG3Lwoo0xZynkxvSv1 jYxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=from:message-id:subject:date:mime-version:to :arc-authentication-results; […]

为什么nginxselect一个不匹配正则expression式的位置块?

在我的nginxconfiguration文件中,我有这个location块(修改用于debugging目的): location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ { expires 1; log_not_found off; return 515 "Request URI is $request_uri. Caught you"; } 当我从服务器请求这个URI时: /img/signup/be0e1d34fabf2514d49db9baec09f858.png?w=198&h=198&s=9a7d22504c5ae176a936a0f18cccacba 果然,它匹配,我得到了这个机构的515响应: Request URI is /img/signup/be0e1d34fabf2514d49db9baec09f858.png?w=198&h=198&s=9a7d22504c5ae176a936a0f18cccacba. Caught you Request URI is /img/signup/be0e1d34fabf2514d49db9baec09f858.png?w=198&h=198&s=9a7d22504c5ae176a936a0f18cccacba. Caught you 为什么? 正则expression式不匹配,至less不直观(或者它必须以一系列数字或者.png等结尾),也不能在Regex101.com上检查。

Nginx的位置匹配不会返回$ 1中的任何内容,但会redirect

这是我的nginx / 1.10.3中的一个位置块 location ~* ^/(.*)/announced$ { rewrite ^ /announcement/$1 redirect; } 但每次我不断redirect到/公告,但variables$ 1丢失 我甚至试过这个 location ~* ^/.*/announced$ { rewrite ^/(.*)/announced /$1/announcement redirect; } 但仍然不起作用。

用于SSL的Apache RedirectMatch允许LetsEncrypt无法正常工作

我一直在尝试使用Apache RedirectMatch将大部分请求发送到SSL,但仍然允许Lets Encrypt质询工作: RedirectMatch permanent ^/(?!\.well\-known/acme\-challenge)(.*)$ https://example.com/$1 这将裸露的域example.comredirect到https://example.com 。 它也允许通过让encryption挑战而不redirect。 但是它不能redirect任何不仅仅是域名的东西,例如example.com/page去页面,而不是SSL。 正则expression式testing表明,它应该工作,但事实并非如此。 有什么build议么?

Nginx的地图query_string不会工作

当我把这个在我的nginx.conf的http块中: map $query_string $bye_cache { default ""; ~*nocache=1 "1"; } 并尝试与我的主机conf位置块中的variables一直工作“”,即使我打电话的URL?nocache = 1 我的块看起来像: location ~* \.(jpg|jpeg|gif|png|svg|css|js|ico|xml|woff|woff2|eot|ttf)$ { access_log off; log_not_found off; set $expire "1d"; set $cachecontrol "public"; set $maxage "86400"; if ($bye_cache = "1") { set $expire "-1"; set $cachecontrol "no-cache"; set $maxage "0"; } autoindex off; gzip_static on; gzip_min_length 1000; gzip_comp_level 2; expires […]

ModRewrite 9返回参考限制

这是一个复杂的,我希望有一个简单的答案… RewriteRule ^category/([^.]+)/([0-9]+)/([^.]+)/([0-9]+) category.php?c_id=$2&filters=$3&_p=$4&name=$1 这个规则将拿起类别/厨房/ 10 / 0-0-0-0-0-0-0-0 / 1 与下面的瓦尔: category.php?c_id=10&filters=0-0-0-0-0-0-0-0&_p=1&name=kitchen filter存储在0-0-0-0-0-0-0-0的原因是由于9回参考限制。 每个0都是一个不同的filtervariables,我通过在$ _GET ['filter']上进行拆分来访问。 我现在正在将我的URL更改为非模式重写的URL,以便重写规则变为: RewriteRule ^category/([^.]+)/([0-9]+)/([^.]+)/([0-9]+) category.php?c_id=$2&filters=$3&_p=$4&name=$1 [R=301,L] 注意到[R = 301,L],所以它变成了301redirect。 这一切都很好,但我想知道是否有一个巧妙的方式分裂0-0-0-0-0-0-0-0,使每个0是一个variables。 所以我可以得到 category.php?c_id=10&f1=0&f2=0&f3=0&f4=0&f5=0&f6=0&f7=0&f8=0&_p=1&name=kitchen 任何想法? 提前致谢!

Mod_Rewrite配方

我需要用mod_rewrite完成以下内容: URI request: http://domain.com/user/username/ or http://domain.com/user/username URI translate: http://domain.com/?q=user/username 这需要非常具体,没有通配符。 一位mod_rewrite和regex的专家可以帮忙吗? 谢谢!

MySQL查询从表中select有效的域

简单的表域:int id,varchar name 表格必须包含有效的域名(我们会认为域名是有效的,如果它是在窗体中.*\.[\w\d_-]{2,3} 当然,我们不需要对DNS进行validation。 运行该SQL: SELECT * FROM domain WHERE name NOT REGEXP '.*\.[\w\d_-]{2,3}' 给我一些不可预知的结果(对我来说绝对符合条件的域) 例: 95323 vandtech.dk 95324 vanee.demon.co.uk 95325 vanens.com 95326 vanger.nl 95327 vangstein.no 95328 vanhoorn-kiel.de 95329 vanityeventi.com 95330 vanloosen.de 但不会返回无效的条目,例如: 1.396.041 _. 1.396.042 _.75 1.396.043 _.ca 1.396.044 _23.com 有人可以解释我在做什么错误的正则expression式?

在bash中testing正则expression式模式的文件名

我不确定应该如何写代码,但我想testing一个文件/文件夹命名模式,如下所示: 如果[-d $ i] && [regex([0-9]。,$ i){ 做一点事 } 我希望它检查文件/文件夹是否是一个目录,并且它的名称是一个数字(即1或101或10007)…