0

タイトルが示すように、後者のサブディレクトリへの直接アクセスをブロックしながら、あるサブディレクトリを別のサブディレクトリにリダイレクトしたいと思います。たとえば、次への直接アクセスをブロックしたいdomain.com/foo

RewriteRule ^foo [F,NC]

しかし、私はdomain.com/barにリダイレクトしたいdomain.com/foo

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

これらの2つのルールを1つに組み合わせることができるので、ロードされますがdomain.com/barロードされませか?domain.com/foodomain.com/foodomain.com/foo

4

1 に答える 1

1

mod_rewriteと.htaccessを有効にしてからhttpd.conf、次のコードをディレクトリの.htaccess下に配置します。DOCUMENT_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 に答える