0

就像标题所暗示的那样,我想将一个子目录重定向到另一个子目录,同时阻止对后一个子目录的直接访问。例如,我想阻止直接访问domain.com/foo

RewriteRule ^foo [F,NC]

但我想domain.com/bar重定向到domain.com/foo

RewriteRule ^bar/* /foo/ [R=301]

是否可以将这两个规则合二为一,所以domain.com/bar加载domain.com/foodomain.com/foo不会加载?domain.com/foo

4

1 回答 1

1

通过启用 mod_rewrite 和 .htaccesshttpd.conf,然后将此代码放在您.htaccessDOCUMENT_ROOT目录下:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

# block direct access to /foo/*
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+foo[/\s] [NC]
RewriteRule ^ - [L,F]

# allow access to /foo/* via /bar/*
RewriteRule ^bar/(.*)$ /foo/$1 [L,NC]
于 2013-03-19T19:14:51.043 回答