Mod rewrite Url重写:重定向所有不使用';不要从区域设置开始

Mod rewrite Url重写:重定向所有不使用';不要从区域设置开始,mod-rewrite,locale,tuckey-urlrewrite-filter,Mod Rewrite,Locale,Tuckey Urlrewrite Filter,我正在尝试将所有不以区域设置开头的页面重定向到具有区域设置的页面。例如:/index.htm被重定向到/en US/index.htm,但/en US/hello.htm不会重定向到任何地方 我无法使匹配规则起作用,这是我尝试的: !^/[a-z]{2}-[A-Z]{2}/$ 编辑:jacouh是对的,整个过程都很顺利,重写规则是错误的,我的测试也是错误的。我在vhosts文件中的Debian/Apache2中测试了这个: RewriteEngine On RewriteCond %{DOCU

我正在尝试将所有不以区域设置开头的页面重定向到具有区域设置的页面。例如:/index.htm被重定向到/en US/index.htm,但/en US/hello.htm不会重定向到任何地方

我无法使匹配规则起作用,这是我尝试的:

!^/[a-z]{2}-[A-Z]{2}/$

编辑:jacouh是对的,整个过程都很顺利,重写规则是错误的,我的测试也是错误的。

我在vhosts文件中的Debian/Apache2中测试了这个:

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{SCRIPT_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}%{SCRIPT_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/en-US/hello\.htm
RewriteRule !^/[a-z]{2}-[A-Z]{2}/ /en-US/hello.htm [R=301,L]
这很有效

/en US/hello.htm必须存在,否则,重定向的无限循环是可能的