2016-05-20 1 views
4

/mapname/mapname2/mapname/file1などのURLがブロックされるように、私は/mapnameで始まるURLへのアクセスを拒否したいと考えています。しかし、私が許可したいURLが1つあります。たとえば、/mapname/mapname.php/something/something/something.php/somethingです。 htaccessを使用してこれを行うにはどうすればよいですか?htaccessはアクセス特有のURLを拒否しますが、例外は1つあります。

アクセスを拒否するには、次のコード例を使用しました。これはうまくいきましたが、特定のURLを許可する方法を理解できません。

RewriteCond %{REQUEST_URI} /mapname 
RewriteRule ^.*$/[R=301,L] 

答えて

1

は、この使用して否定先読みを行うことができます。

RewriteRule ^mapname(?!/something\.php/allow/this/uri/?$) - [F,L,NC] 
+1

ありがとう、これは動作します! – Femke

1

あなたがこれを使用することができます:RewriteRule単一のもので

RewriteRule ^mapname/something\.php/allow/this/uri/?$ - [L] 
#Deny any other uri string starting with "/mapname 
RewriteCond %{REQUEST_URI} ^/mapname 
RewriteRule ^.*$ - [F,L] 
+1

おかげで、これは動作します!私はよりコンパクトであるので、私は右のように他の答えを選択する:) – Femke

関連する問題