Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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
.htaccess-如何基于lookahead regex规则比较url中的名称?_Regex_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

.htaccess-如何基于lookahead regex规则比较url中的名称?

.htaccess-如何基于lookahead regex规则比较url中的名称?,regex,apache,.htaccess,mod-rewrite,Regex,Apache,.htaccess,Mod Rewrite,给定以下url结构:http://localhost/name/name 以及以下环境变量: RewriteRule ^.* - [E=ORIG_REQUEST:name/name] RewriteRule ^.* - [E=DIR_NAME:name] RewriteRule ^.* - [E=FILE_NAME:name] 如何根据lookaheadregex规则检查DIR\u NAME是否等于FILE\u NAME 我所拥有的: RewriteCond %{REQUEST_METHOD}

给定以下url结构:
http://localhost/name/name

以及以下环境变量:

RewriteRule ^.* - [E=ORIG_REQUEST:name/name]
RewriteRule ^.* - [E=DIR_NAME:name]
RewriteRule ^.* - [E=FILE_NAME:name]
如何根据
lookahead
regex规则检查
DIR\u NAME
是否等于
FILE\u NAME

我所拥有的:

RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{ENV:ORIG_REQUEST} ^([^/]+)/(?=\1)$ [NC]
RewriteRule - [E=IS_EQUAL:true]

启发,试试这个正则表达式。如果dir不等于file,则它将不匹配

   :\/\/\w+\/(\w+)\/(?=\1)
演示

如何根据先行正则表达式规则检查
DIR\u NAME
是否等于
FILE\u NAME

这应该适合您:

RewriteRule ^ - [E=ORIG_REQUEST:name/name]
RewriteRule ^ - [E=DIR_NAME:name]
RewriteRule ^ - [E=FILE_NAME:name]

RewriteCond %{ENV:DIR_NAME}#%{ENV:FILE_NAME} ^([^#]+)#\1$
RewriteRule ^ - [E=IS_EQUAL:true]
  • #
    仅用作两个变量之间的分隔符。它可以是任何东西
  • ([^#]+)
    捕获匹配组1中的第一个变量
    DIR_NAME
  • \1
    是从第一个字符串捕获的值的反向引用

谢谢!您是否可以提供一个仅匹配
dir1/dir1
的htaccess正则表达式<代码>%{ENV:ORIG_REQUEST}^(\w+/(?=\1)$[NC]不是working@RafaSashi,阿努巴瓦执政官!J'ai réponduáta质疑前卫的传统。@RafaSashi je crois是一个如此简单的种族主义者。这是一项关于计算病毒点的竞争。这是克罗伊人的社区意识!这是一个非常有效的沟通方式,你的计划非常有效!你能告诉我你想做什么吗?意思是什么不起作用,我不是指你的规则。在环境变量上使用它似乎过于复杂了。我只是想在htaccess中将
name/name
与lookahead regex规则进行匹配,我问这个问题,因为我是lookahead regex新手,我不懂。我不认为这个问题与环境变量有关。