2016-07-07 7 views
1

httpd.confでは、メインパスは許可しますが、特定のサブフォルダは許可しません。LocationMatchは、特定のサブフォルダを除いたメインURLを許可します。

このパターンを持つ任意のURLを受け入れなければなりません。

/app-1.0/public

/app-1.0/images

/app-1.0/

が、この1つの必須に無視される/許可されない。

/app-1.0/private

私は、Apacheのバージョン2.2.3でこの設定を使用します。私はそのバージョンがネガティブ正規表現をサポートしていないことを読んだが、わからない。

事前に感謝します。

+0

'/app-1\.0 /(?! private $)。*' –

+0

ありがとう、Wiktor。私はそれを試しましたが、私は少し変更する必要がありました:/app-1\.0/(?!private).* – Alejandro

+0

うれしい私は助けることができます。下の私の答えをチェックしてください。 –

答えて

0

あなたは/app-1.0/で始まり、その後privateを持っているすべてのパスを禁止したい場合、あなたは

^/app-1\.0/(?!private).* 

を使用することができますがregex demo

パターンの説明参照してください:

  • ^を - 文字列の開始(テキストが先頭にない場合は削除)
  • /app-1\.0/ - リテラル/app-1.0/テキスト(ドットリテラルドットとして扱われることをエスケープする必要があり)
  • - マッチに失敗した負の先読み(=禁止)privateテキストは右現在位置の後に存在する場合
  • .* - 改行

NOTE以外の任意の0+文字:私のオリジナルのコメントでは、私はprivate$/app-1\.0/(?!private$).*パターンを示唆しました。そのパターンは、末尾に/app-1.0/private$は文字列の終わりのアンカー)を含む文字列を許可しません(=一致しません)。

+0

うれしい私は助けることができます。答えを受け入れることを検討してください([回答を受け入れる方法](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)を参照してください)。 ([Stack Overflowについてのアップルのしくみ?](http://meta.stackexchange.com/questions/173399/how-to-upvote-on-stack-overflow)を参照してください)。 –

関連する問題