.htaccess вопрос - флаг [L] любой способ упростить

Вы можете сделать это с помощью регулярных выражений :

#!/usr/bin/perl
my $string = 'fhjgfghjk3456mm 735373653736 icasd 666666666666 111111111111';
while ($string =~ m/\b(\d{12})\b/g) {
  say $1;
}

Проверить здесь регулярное выражение: http://rubular.com/r/Puupx0zR9w

use YAPE::Regex::Explain;
print YAPE::Regex::Explain->new(qr/\b(\d+)\b/)->explain();

The regular expression:

(?-imsx:\b(\d+)\b)

matches as follows:

NODE                     EXPLANATION
----------------------------------------------------------------------
(?-imsx:                 group, but do not capture (case-sensitive)
                         (with ^ and $ matching normally) (with . not
                         matching \n) (matching whitespace and #
                         normally):
----------------------------------------------------------------------
  \b                       the boundary between a word char (\w) and
                           something that is not a word char
----------------------------------------------------------------------
  (                        group and capture to \1:
----------------------------------------------------------------------
    \d+                      digits (0-9) (1 or more times (matching
                             the most amount possible))
----------------------------------------------------------------------
  )                        end of \1
----------------------------------------------------------------------
  \b                       the boundary between a word char (\w) and
                           something that is not a word char
----------------------------------------------------------------------
)                        end of grouping
----------------------------------------------------------------------

0
задан dave sanchez 5 March 2019 в 16:31
поделиться

1 ответ

Вы должны использовать

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

перед своим последним правилом. Первые правила переписали запрошенный URL в допустимый (php) файл, к которому можно получить доступ, поэтому условия станут ложными. Если ни одно из правил не соответствовало ранее, но запрошенный URL-адрес еще является допустимым файлом (например, изображением), это правило также не обрабатывается.

Вы также должны опустить косую черту в последнем правиле: ^ (. *) / $, Потому что в противном случае это правило переписывает только URL с конечной косой чертой.

0
ответ дан Natha 5 March 2019 в 16:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: