Regex Mod Rewrite-URL中的正则表达式等号

Regex Mod Rewrite-URL中的正则表达式等号,regex,apache,.htaccess,mod-rewrite,url-rewriting,Regex,Apache,.htaccess,Mod Rewrite,Url Rewriting,在我的.htaccess中,我有一个重写规则,它从一个干净的url读取值 我需要将所有(虚荣)url发送到request.php,除了带有以下路径的url:/change email/[数字(和或)字符和“=”符号] 所有这些都可以正常工作,但当字符串具有等号时,会从其他规则中截取 示例: mysite.com/change email/-->转到request.php[确定] mysite.com/change email-->转到request.php[确定] mysite.com/chan

在我的.htaccess中,我有一个重写规则,它从一个干净的url读取值

我需要将所有(虚荣)url发送到
request.php
,除了带有以下路径的url:
/change email/[数字(和或)字符和“=”符号]

所有这些都可以正常工作,但当字符串具有等号时,会从其他规则中截取

示例:

mysite.com/change email/
-->转到
request.php
[确定]

mysite.com/change email
-->转到
request.php
[确定]

mysite.com/change-email/dasu564345ytfghasfda-->转到
change email.php
[确定]

mysite.com/change email/dasu564345ytfgfhafsfda=-->转到
request.php
[不正常]它应该转到
/includes/change email.php

是主应用程序部分中的3°规则

这是.htaccess

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

#main app rules
RewriteRule ^change-email(\/|)?$ /request.php?key=change-email [QSA]
RewriteRule ^change-email/([\w+]{1,})(\/|)?$ /includes/change-email.php?email=$1 [QSA] <-- need to catch = sign!
RewriteRule ^([\w+]{1,})(\/|)?$ /request.php?&key=$1 [QSA]

ErrorDocument 404 /request.php
重新编写引擎打开
重写条件%{HTTPS}关闭
重写规则^(.*)https://%{HTTP_HOST}%{REQUEST_URI}[L,R=301]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
#主要应用程序规则
RewriteRule^更改电子邮件(\/|)?$/request.php?key=更改电子邮件[QSA]

改写器>更改电子邮件/([\W+] { 1,})($//包含/更改电子邮件)。PHP?电子邮件=1美元[QSA] < P> <代码> \W/Eng>不考虑<代码>=< /代码>。请尝试为
change email.php
url使用以下正则表达式:

^更改电子邮件/([\w\=]{1,})(\/|)?$