linux伪静态 (大括号转义)

zblog10个月前zblog问题解答35
大括号转义问题:
Nginx配置文件中,大括号{}默认用于配置块(如server{}),直接用在正则表达式中会被误解析。
解决方案:用单引号包裹正则表达式(推荐),或转义大括号(但转义可能不生效,不推荐)。

直接写 : (×××××)错错错错错错错
rewrite ^/chengji/nian/(\d{4}).html /chengji/nian.php?nian=$1 last;
因为 {} 是用于配置块,会无解析,报错,不符合规则。

正确写法:(用单引号包住 含有 花括号 的正则表达式 )对对对对
rewrite '^/chengji/nian/(\d{4}).html' /chengji/nian.php?nian=$1 last;

# 或(不推荐,可能因转义不彻底失效)
rewrite ^/chengji/nian/(\d\{4\}).html$ /chengji/nian.php?nian=$1 last;


#############################################################
总结::::::::::::::::::::::::::
#############################################################

没有花括号 (如 {1}这样的量词 )可以

rewrite ^/chengji/nian/(\d+).html$ /chengji/nian.php?nian=$1 last; 

正则表达有花括号 (量词) 可以单引号包围

rewrite '^/chengji/nian/(\d{4}).html' /chengji/nian.php?nian=$1 last;

image.png

image.png

相关文章

PHP PHP_SAPI 是啥意思 if ('cli' != PHP_SAPI) { 是判断是否命令行运行

if ('cli' != PHP_SAPI) {    if ($zblogx("iddahe_com_editor")->get_tok...

php 函数 array_flip()  是干啥的

php 函数 array_flip() 是干啥的

flip 英文意思是 快速反转,顾名思义,array_flip 就是把 键值对的 键和值 反转,因为键 是唯一的,所以反转后 如果重复取第一个。`array_flip` 是 PHP 中的一个函数,用于...

在PHP中,DIRECTORY_SEPARATOR 是一个预定义的常量,用于表示当前操作系统的目录分隔符。例如,在Windows系统中,它是反斜杠 \;而在Unix/Linux系统中,它是正斜杠 /。

在PHP中,DIRECTORY_SEPARATOR 是一个预定义的常量,用于表示当前操作系统的目录分隔符。例如,在Windows系统中,它是反斜杠 \;而在Unix/Linux系统...

echo plugin_dir_url(__FILE__); zblog 通过文件获取应用URL地址 返回插件目录的URL地址

<?php /** @var ZBLOGPHP $zbp */ require_once '../../../../zb...

linux打包压缩文件夹到指定压缩包

tar -czf /www/bug_fix/c9.tar.gz --ignore-failed-read -C /www/wwwroot/8.8.8.162/runtime/cache c9打包&nb...

正则表达式的替换的花招

1 $url = preg_replace_callback("|{&([a-zA-Z0-9]+)\=%|", "UrlRule:...