.htaccess отрицать все, кроме? - PullRequest
0 голосов
/ 06 марта 2012

У меня есть это правило htaccess для блокировки всех запросов .xml:

<Files ~ "\.xml$">
Order allow,deny
Deny from all
Satisfy all
</Files>

Однако мне нужно разрешить один определенный XML-файл. Как переписать правило?

Кроме того, выше этого правила у меня есть исключение, подобное этому:

RewriteRule ^(myxml\.xml)$ $1 [L]

Но это все еще не позволяет файл.

1 Ответ

1 голос
/ 06 марта 2012

Apache Regexp Engine совместим с PCRE, так почему бы не использовать регулярное выражение с отрицательным взглядом за утверждением "(?<!\bmyxml)\.xml$"?

То, что это говорит, соответствует чему-то, оканчивающемуся на .xml, если ему не предшествует myxml. Это означает, что правило не сработает для myxml.xml, поэтому оно не будет отклонено.

BTW FilesMatch предпочтительнее Files ~ в соответствии с документами Apache. Не спрашивай меня почему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...