Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 此正则表达式与htaccess中的匹配方式_Regex_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Regex 此正则表达式与htaccess中的匹配方式

Regex 此正则表达式与htaccess中的匹配方式,regex,apache,.htaccess,mod-rewrite,Regex,Apache,.htaccess,Mod Rewrite,我正在尝试将尾部斜杠添加到url。我有自己的逻辑,但在stackoverflow()上找到了另一个逻辑。现在是这行中的正则表达式 RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] 显然与url的重写规则相匹配 我首先做的是: RewriteCond %{REQUEST_URI} /wp-admin$ [NC] RewriteCond %{REQUEST_URI} !/+$ RewriteRule ^ %{ENV:pro

我正在尝试将尾部斜杠添加到url。我有自己的逻辑,但在stackoverflow()上找到了另一个逻辑。现在是这行中的正则表达式

RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
显然与url的重写规则相匹配

我首先做的是:

RewriteCond %{REQUEST_URI} /wp-admin$ [NC]
RewriteCond %{REQUEST_URI} !/+$
RewriteRule ^ %{ENV:proto}://%{HTTP_HOST}%{REQUEST_URI}/ [R=301,L]

所以我的问题是
/wp admin$
^([\u 0-9a-zA-Z-]+/)?wp admin$

这是因为当您使用
RewriteCond%{REQUEST\u URI}
时,前导斜杠是匹配的,但当您在.htaccess文件中使用
RewriteRule
中的模式时,当前目录(相对于
DocumentRoot
)会被剥离,这是每目录指令


因此,前导斜杠在
RewriteRule
中不匹配,但在
RewriteCond
中匹配。您的问题不清楚。在这里查找
(?@anubhava以匹配前面的“/”,因此我会确保在“/”后加上“wp admin”。这两个重写规则都可以正常工作。
^([\u 0-9a-zA-Z-]+/)?wp admin$
不应该在(至少在pcre中)中找到匹配项。它在htaccess文件中如何工作。@OP:我回答了你的问题吗?