Regex 此正则表达式与htaccess中的匹配方式
我正在尝试将尾部斜杠添加到url。我有自己的逻辑,但在stackoverflow()上找到了另一个逻辑。现在是这行中的正则表达式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
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:我回答了你的问题吗?