Mod重写用于重定向单个子目录及其内容的规则

时间:2015-06-24 15:38:29

标签: apache .htaccess mod-rewrite redirect

我有以下文件夹结构:

/
/backend + sub-pages (these are the ones I want to hide)
/backend/admin + sub-pages
/backend/api + sub-pages

目前,CMS会在/backend文件夹下生成一大堆页面,我不希望这些页面对公众可见。

我要求除/backend/*子文件夹或/backend/admin子文件夹中的任何路由之外的任何路由backend/api 重定向到{{1 }}

这是否可以在htaccess文件中使用mod重写?

1 个答案:

答案 0 :(得分:0)

假设mod_rewrite已正确启用,您可以使用以下规则:

RewriteCond %{REQUEST_URI} !^/backend/(admin|api)
RewriteRule ^backend/. /backend [R,L]

如果管理员或api落后'后端'该条件可防止发生任何事情。否则,任何以后端/开头的url和至少后面的一个字符将被重定向到backend。这主要是为了防止重定向循环。一旦您对此进行了测试,并且它按预期工作,您就可以将[R,L]更改为[R=301,L]以使重定向成为永久性。