使用regex将变量映射到$clientIP。
多个CDN背后的CDN服务器,客户端实际ip的自定义报头不同。所以我拿出了下面的表达式。
#here I use @ as seperator
map "$http_cf_connecting_ip@$http_cdn_src_ip@$http_src_ip@$http_client_ip" $clientIP {
"~[^-]+@-@-@-$" $http_cf_connecting_ip;
"~^-@[^-]+@-@
服务器:Nginx
应用程序:
有问题的URL是
/p/all_p/user/ABC
/p/all_p/user/ABC/page/123
这就是
/index.php?p=all_articles&user=ABC
/index.php?p=all_articles&user=ABC&page=123
ABC = this could be a-zA-Z0-9 as it's username
123 = this could be page numbers 0-9
尝试了许多组合和选项,以下让我更接近预期的结果,但它不是完美的。
location /
对于给定的文件,我正在尝试对页脚进行超原语sed或perl替换。
通常我使用DOM来解析HTML文件,但是到目前为止,我还没有遇到任何问题,因为我正在使用sed/perl处理原始HTML文件(时间很重要)。
我所需要的就是用<?php include 'footer.php';?>替换包含空格的<div id="footer">、一个包含另一个元素的元素以及结束的</div>。
由于某些原因,在<div id="stupid">之前,我甚至无法匹配此模式。我知道有空格字符,所以我使用了\s*
per
我正在使用preg_match_all,尝试匹配:
[<? or <?php]
[any amount of space here, at least one, may be newline]
[legendcool]
[any amount of space]
[(] return whatever is in here [)]
[any amount of space]
[?>]
到目前为止,我有这样的想法:
index.php
$the_prophecy = file_get_contents("secret.php");
preg_match_all(