.htaccess 301各种深度的永久重定向

.htaccess 301各种深度的永久重定向,.htaccess,redirect,.htaccess,Redirect,我将此代码用于R301,用于1个深度的类别。例如,我希望重定向http://sitesample.ltd/new/mynews至http://sitesample.ltd/new/这是我的代码: RewriteRule ^mynews/(.+)$ http://sitesample.ltd/new/$1 [R=301,L] 我想从url中删除深度2和3。例如重定向http://sitesample.ltd/new/mynews/photo至http://sitesample.ltd/new/。

我将此代码用于R301,用于1个深度的类别。例如,我希望重定向
http://sitesample.ltd/new/mynews
http://sitesample.ltd/new/
这是我的代码:

RewriteRule ^mynews/(.+)$ http://sitesample.ltd/new/$1 [R=301,L]
我想从url中删除深度2和3。例如重定向
http://sitesample.ltd/new/mynews/photo
http://sitesample.ltd/new/
。我尝试了这个,但没有成功:

RewriteRule ^mynews/(.+)/?$ http://sitesample.ltd/new/$2 [R=301,L]
RewriteRule ^mynews/(.+)/(.+)/?$ http://sitesample.ltd/new/$3 [R=301,L]
又一次尝试,但没有成功:

RewriteRule ^mynews/([^/]+)/?$ http://sitesample.ltd/new/$2 [R=301,L]
RewriteRule ^mynews/(.+)/([^/]+)/?$ http://sitesample.ltd/new/$3 [R=301,L]
如果您尝试这样做:

mynews/xxxx -> http://sitesample.ltd/new/xxxx
mynews/yyyy/xxxx -> http://sitesample.ltd/new/xxxx
mynews/zzzz/yyyy/xxxx -> http://sitesample.ltd/new/xxxx
你可以这样做:

RewriteRule ^mynews/([^/]+)/?$ http://sitesample.ltd/new/$1 [R=301,L]
RewriteRule ^mynews/[^/]+/([^/]+)/?$ http://sitesample.ltd/new/$1 [R=301,L]
RewriteRule ^mynews/[^/]+/[^/]+/([^/]+)/?$ http://sitesample.ltd/new/$1 [R=301,L]
或者仅此:

RewriteRule ^mynews/(?:[^/]+/){0,2}([^/]+)/?$ http://sitesample.ltd/new/$1 [R=301,L]

很难理解你想做什么…抱歉解释得不好。我添加了更多的文字来描述@克罗伊斯坦克。工作就像一个符咒:)