2016-06-21 2 views
0

Мне нужно сказать - этот каталог и что-нибудь после этого сделать.
/thedirectory/* Как я могу это написать?htaccess, как запросить вложенные подкаталоги

Также я пытаюсь выяснить, что именно означает /|$. И то, что означает !^.

RewriteCond %{REQUEST_URI} !^/thepage(/|$) 

Может кто-нибудь мне помочь? Исследование, пытаясь найти ответ на мои вопросы, не дает ответов.

ответ

2

Это о RewriteCond и regular expressions

Чтобы ответить !^ первых, это две вещи ! (RewriteCond)

CondPattern обычно Perl совместимое регулярное выражение, но существует дополнительный синтаксис для проведения других полезных тестов против Te ststring:
1. Вы можете префикс строки шаблона с помощью '!' символ (восклицательный знак), чтобы отрицать результат условия, независимо от того, какой тип CondPattern используется.

и ^ (regex)

Regex словарный запас
^ Вызывается якорь, совпадает с началом строки

/|$ также является регулярным выражением

  • / соответствует слэш и не имеет особого смысла
  • | является специальным символом и означает или
  • $ также якорь и означает конец строки

Так /|$ переводит к: Совпадение косой чертой или совпадением конца строки.

1

Ну, я бы предложил понять, что вы используете, прежде чем использовать его. Условие, которое у вас есть, противоположно тому, что вы хотите. Вы должны исследовать regex characters, а не базовую .htaccess, потому что тогда это скажет вам, что это значит.

! означает, что нет, как в if not этой странице, then. Поэтому вам нужно удалить это, так как вы хотите совместить на этой странице. ^ означает начало линии в основном. $ означает конец и ничего больше после этого. На самом деле это не нужно в этом случае.

Возможно, вы просто хотите.

RewriteCond %{REQUEST_URI} ^/thediretory/? [NC] 
Смежные вопросы