我有一个 URL:s,其中包含一个短划线字符,如下所示:
https://domain.dom/path/document-–-名称包含单个破折号
我尝试创建一个重写来用单个破折号替换'---'字符串(破折号,短破折号,破折号),如下所示:
rewrite ^(.*)-–-(.*)$ $1-$2;
...实现如下 URL:
https://domain.dom/path/document-name-contains-a-single-en-dash
但这似乎不起作用。我做错了什么?
答案1
短划线(假设为 UTF8)在 URL 中实际上表示为三个字节。您可以使用转义符将任意字节放入正则表达式中\x
。
例如:
rewrite ^(.*)-\xE2\x80\x93-(.*)$ $1-$2;