[英].htaccess - how to compare names in url based on lookahead regex rule?
给定以下URL结构: http://localhost/name/name
和以下env变量:
RewriteRule ^.* - [E=ORIG_REQUEST:name/name]
RewriteRule ^.* - [E=DIR_NAME:name]
RewriteRule ^.* - [E=FILE_NAME:name]
如何根据lookahead
正则表达式规则检查DIR_NAME
是否等于FILE_NAME
?
我有的:
RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{ENV:ORIG_REQUEST} ^([^/]+)/(?=\1)$ [NC]
RewriteRule - [E=IS_EQUAL:true]
如何根据前瞻性正则表达式规则检查
DIR_NAME
是否等于FILE_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]
#
仅用作2个变量之间的分隔符。 可以是任何东西。 ([^#]+)
捕获匹配组#1中的第一个变量DIR_NAME
\\1
是第一个字符串的捕获值的反向引用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.