Как найти почему не работает RewriteRule?

Здравствуйте.
Столкнулся судя по всему с банальной ситуацией, однако сам не могу её решить. Необходимо сделать rewrite с этого URL:
http://domain.tld/index.php?w=650&h=content&i=madam/rdo_map_nazar_1_sm.jpg

На этот:
http://domain.tld/650/content/madam/rdo_map_nazar_1_sm.jpg

Для реализации в htaccess написал следующее:
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /index.php?w=$1&h=$2&i=$3 [L]

В apache2.conf:
<Directory /home/mo45/www>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

В vhost'е это:
<VirtualHost *:80>
    ServerAdmin email@gmail.com
    ServerName domain.tld
    DocumentRoot /home/mo45/www/rockstar/weazel
        <Directory "/home/mo45/www/rockstar/weazel/">
                Options +FollowSymLinks -MultiViews
                RewriteEngine On
                AllowOverride ALL
                Allow from all
        </Directory>
    LogLevel alert rewrite:trace3
    ErrorLog /home/mo45/www/rockstar/log/error.log
    CustomLog /home/mo45/www/rockstar/log/access.log combined
</VirtualHost>

В логах следующее:
[Tue Dec 10 14:20:08.457690 2019] [rewrite:trace3] [pid 3897] mod_rewrite.c(482): [client 141.101.104.182:60012] 141.101.104.182 - - [domain.tld/sid#7f3bd4704a30][rid#7f3bcb27f0a0/initial] [perdir /home/mo45/www/rockstar/weazel/] add path info postfix: /home/mo45/www/rockstar/weazel/650 -> /home/mo45/www/rockstar/weazel/650/content/madam/rdo_map_nazar_1_sm.jpg
[Tue Dec 10 14:20:08.457929 2019] [rewrite:trace3] [pid 3897] mod_rewrite.c(482): [client 141.101.104.182:60012] 141.101.104.182 - - [domain.tld/sid#7f3bd4704a30][rid#7f3bcb27f0a0/initial] [perdir /home/mo45/www/rockstar/weazel/] strip per-dir prefix: /home/mo45/www/rockstar/weazel/650/content/madam/rdo_map_nazar_1_sm.jpg -> 650/content/madam/rdo_map_nazar_1_sm.jpg
[Tue Dec 10 14:20:08.458039 2019] [rewrite:trace3] [pid 3897] mod_rewrite.c(482): [client 141.101.104.182:60012] 141.101.104.182 - - [domain.tld/sid#7f3bd4704a30][rid#7f3bcb27f0a0/initial] [perdir /home/mo45/www/rockstar/weazel/] applying pattern '^([^/]*)/([^/]*)/([^/]*)$' to uri '650/content/madam/rdo_map_nazar_1_sm.jpg'

mod_rewrite включен, работает на других vhost'ах. Сам index.php работает без переписанного как задумано.

Не могу понять в чем проблема.

Заранее благодарен за помощь.
  • Вопрос задан
  • 28 просмотров
Пригласить эксперта
Ответы на вопрос 1
@dodo512
^([^/]*)/([^/]*)/([^/]*)$
Под такой шаблон подходит строка "650/content/file.jpg", а вот "650/content/dir/file.jpg" уже нет.

^(\d+)/(content)/(.+)$
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы