Моя конфигурация для использования удобного URL-адреса отлично работает, когда местом назначения является скрипт php, например:
RewriteRule ^products/([a-z0-9-]+)/([0-9]+)/?$ /prod.php?id=$2&name=$1 [NC]
Но когда я использую статический файл, как показано ниже, в качестве пункта назначения, он не работает:
RewriteRule ^\/css\/\_version\_([1-9]+)\_([0-9])\/(.*)$ /stat/css/$3 [NC]
Приведенная выше конфигурация работает только тогда, когда я устанавливаю флаг перенаправления, например:
RewriteRule ^\/css\/\_version\_([1-9]+)\_([0-9])\/(.*)$ /stat/css/$3 [R]
Назначение "/stat/css/*.css" существует. Когда я использую конфигурацию «Псевдоним», она тоже работает. Но для этого мне нужно использовать mod_rewrite.
Журналы ошибок (режим отладки) об этом не ведутся. Только 404 в журналах доступа.
Кто-нибудь может мне помочь?
Вы можете попробовать (непроверено)
RewriteRule ^css/_version_([1-9]+)_([0-9]\/(.*)$ /stat/css/$3
Отличия от вашего примера:
Без косой черты. Это необходимо в определении VHost, но не должно быть включено в .htaccess
файл, например. В вашем первом (рабочем) примере этого нет.
Меньше бегства. Это не кажется необходимым и делает выражение более разборчивым.