我需要写一个.htaccess,所以我最终
/
至/2015
/2015
/2015
开头的请求重定向到/2014
/2014
我的微弱尝试最终都是这样,但显然不起作用......
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/$ [OR]
RewriteCond %{REQUEST_URI} !^/2015 [AND]
RewriteCond %{REQUEST_URI} !^/2014
RedirectMatch 301 /(.*) /2014/$1
# RewriteCond %{HTTP_HOST} ^(www.)?loc.domain$
# RewriteRule ^(/)?$ 2015 [L]
RewriteRule ^$ /2015 [L]
修改
我可能不够透彻。我需要人们试图访问
/anything
也被重定向到/2014/anything
,不会被重定向到/2014
答案 0 :(得分:2)
我认为你需要这样做。
RewriteRule ^/?$ /2015 [R=301,L]
RewriteRule ^((?!2014|2015).+) /2014/$1 [R=301,L]
您还需要在规则中排除2015和2014,否则它将以重定向循环结束。
BTW出于学习目的,您将mod_alias与mod_rewrite混合使用。您无法使用RewriteCond
与RedirectMatch
一起使用RewriteRule
。
答案 1 :(得分:0)
您可以使用
RewriteEngine On
RewriteRule ^/?$ /2015 [L,R]
RewriteRule !^2015 /2014 [L,R]