Apache переписать регулярное выражение

Я пытаюсь перенаправить URL-адрес, который выглядит следующим образом: http://getdotastats.com/sig/28755155.png

На тот, который выглядит так: http://getdotastats.com/sig/?aid=28755155

Первый URL - это воображаемый, который не существует.

Ниже приведено регулярное выражение, с которым я сталкиваюсь. Можете ли вы увидеть, как это улучшить. Мне не хватает необходимых знаний при формировании регулярного выражения, поэтому я просто заставил его сопоставлять группы и игнорировать те, которые мне не нужны.

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)sig/(.*)\.(.*)$ index.php?aid=$2 [NC,L]

Могу ли я просто добавить вышеприведенное в.htaccess в определенном каталоге (/ sigs) или дополнительные директивы требуются в основном файле vhost?

Спасибо за помощь!

РЕДАКТИРОВАТЬ: Спасибо будущее телематики. Используя.htaccess ниже:

RewriteEngine On
RewriteBase /
RewriteRule testpage\.html http://www.google.com [R]
RewriteRule ^/sig/([0-9]+\.(?:gif|png|jpg))$ index.php?aid=$1 [NC,L]

Тестовая страница перенаправляет на Google, но перенаправление изображения выдает следующую ошибку.

The requested URL /sig/28755155.png was not found on this server.

Мы должны быть рядом. _

Vhost выглядит так:

    DocumentRoot /home/www-dota2
    <Directory /home/www-dota2/>
            Options Indexes MultiViews +SymLinksIfOwnerMatch
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>

1 ответ

Решение

Прежде всего, я бы порекомендовал вам написать более конкретное регулярное выражение: чтобы соответствовать /sig/28755155.png, я бы сделал:

RewriteRule ^/sig/([0-9]+\.(?:gif|png|jpg))$ index.php?aid=$1 [NC,L]

Помните, что ваше регулярное выражение ^ (. ) Sig / (.). (. *) $ Может совпадать с путями типа /somesig/foo/bar/123.png

Отвечая на ваш вопрос:

  • ДА, вы можете поместить эти правила в файл htaccess вашей папки sig
  • ДА правила в htaccess в папке sig вычисляются для любой подпапки (ej: /sig/foo/bar)

Надеюсь это поможет

Другие вопросы по тегам