Директива RewriteRule
Подскажите, пожалуйста, что означает .* после директивы RewriteRule и какая разница между .* и (.*)
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_URI} ^(.*)/dir/test.php$
RewriteRule .* - [F,L]
</IfModule>
Ответы (1 шт):
Автор решения: Евгений Платов
→ Ссылка
.* это регулярное выражение которое анализирует ваш url. точка означает любой символ, * повторение от 0 до бесконечности. По сути .* любое количество любых символов (все возможные запросы). Круглые скобки используются в регулярных выражениях для группировки условий. В данном случае никакой разницы в себе не несут. В других ситуациях можно обращаться к группам через знак $
Например правило
RewriteRule ^search /(.*)$ /search.php?q=$1
преобразует запрос search/qwerty в /search.php?q=qwerty