.htaccess regex don';t工作

.htaccess regex don';t工作,regex,apache,.htaccess,mod-rewrite,pcre,Regex,Apache,.htaccess,Mod Rewrite,Pcre,这是我的.htaccess文件, 我想要www.example.com/en/home 重定向到 www.example.com/pages/en/home 我已经试过使用在线pcre正则表达式测试仪,但它在那里工作。。。谢谢大家 ##Debug on normal apache servers #php_flag display_errors on #php_value error_reporting E_ALL ##Errors pages ErrorDocument 404 /404.ht

这是我的
.htaccess
文件, 我想要
www.example.com/en/home

重定向到
www.example.com/pages/en/home

我已经试过使用在线pcre正则表达式测试仪,但它在那里工作。。。谢谢大家

##Debug on normal apache servers
#php_flag display_errors on
#php_value error_reporting E_ALL
##Errors pages
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
RewriteEngine On
##Force SSL
#Normal way
#RewriteCond %{HTTPS} !=on
#Heroku way
RewriteCond %{HTTP:X-Forwarded-Proto} !https 
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
##.php extension is optional
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteRule (^.+)$(\/[a-z]{2}\/.+)$ $1/pages$2 [NC,L]

在这个正则表达式中有两个结束锚,
(^.+)$(\/[a-z]{2}\/.+)$
。我的错。。。但这仍然不起作用。也许
/([a-z]{2})/(.+)$
然后
$1/页/$2
。您想要
/pages/en/home
en/pages/home
?你的规则和描述似乎有所不同
mod_rewrite
不使用分隔符,因此
/
不需要转义。即使(^.+)/([a-z]{2})/(.+)$$1/页/$2也不起作用。。。我希望用户看到/en/home,但实际路径是/pages/en/home您是否尝试了我提供的正则表达式()<代码>(^.+)/([a-z]{2})/(.+)$!=<代码>/([a-z]{2})/(.+)$。您有3个捕获组,在第一个捕获组之前需要一些内容。重写顺序将是
/pages/$1/$2
。。。或者您可以将
en/home
加入一个捕获组。