httpd 2.4 mod_rewrite负/反比赛

时间:2016-03-02 09:01:34

标签: regex apache .htaccess mod-rewrite

我正在尝试设置(httpd 2.4 / mod_rewrite)重定向,如下所示:

  • 重定向: http:// admin .site.com / anything - > HTTP:// WWW .site.com /任何
  • 通过: http:// admin .site.com / user - > HTTP:// 管理 .site.com /用户
  • 通过: http:// www .site.com / anything - > HTTP:// WWW .site.com /任何

我试过了以下内容:

RewriteCond %{HTTP_HOST} !^admin\. [NC]
RewriteCond %{REQUEST_URI} !^/user [NC]
RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=302]

我可以让 ^ / user 匹配积极并继续下一个RewriteRule,但我无法让!^ / user 匹配并且进入RewriteRule。

任何线索?

1 个答案:

答案 0 :(得分:0)

您可以尝试以下操作:

RewriteEngine on


RewriteCond %{HTTP_HOST} ^admin\.example.com$
RewriteCond %{REQUEST_URI} !^/user
RewriteRule ^(.*)$ http://www.example.com/$1 [NC,L,R,NE]

这会将整个子域名(/ user除外)重定向到您的主域名。