如果第一个URL段不是“ admin”,则重定向

时间:2019-08-22 19:14:06

标签: apache .htaccess

我最近将大型站点的URL结构从以下位置更改: / area / category / sub-category / business到/ area / business。

我想在.htaccess中设置重定向规则,以便将人们定向到正确的业务。

我一直在使用的重写规则在该站点的前端工作正常。当登录到管理区域以更新业务时,例如使用URL / admin / business / id / edit,我被重定向到/ admin / edit

RewriteBase /
RedirectMatch 301 ^/(.*)/(.*)/(.*)/(.*)$ /$1/$4

我认为需要检查第一段以确保它不等于“ admin”,但是我不确定如何实现。

1 个答案:

答案 0 :(得分:1)

如果您只想重定向/area/ URL,则应直接在规则中指定它。而且/admin网址不会受到影响。

RewriteBase /
RedirectMatch 301 ^/area/(.*)/(.*)/(.*)$ /$1/$4

标记的解决方案:

RedirectMatch 301 ^/(?!admin/)(.*)/(.*)/(.*)$ /$1/$3.