Как мне переписать этот RewriteRule? - PullRequest
0 голосов
/ 08 декабря 2008

У меня есть это правило перезаписи

RewriteRule (.*)/([^/\.]+).css$ include/style/styleRedir.php?css=$2.css [L,NC]

что соответствует вещи как:

somefolder/foo.css

и переписывает их на:

include/style/styleRedir.php?css=foo.css

однако оно не будет совпадать:

foo.css

Поэтому я попытался изменить его на:

RewriteRule (.*)(/?)([^/\.]+).css$ include/style/styleRedir.php?css=$3.css [L,NC]

но тогда он переписал бы:

include/style/styleRedir.php?css=.css

Так, как я мог сделать этот RewriteRule, чтобы он мог переписать foo.css для включения / style / styleRedir.php? Css = foo.css

1 Ответ

4 голосов
/ 08 декабря 2008

У меня не установлен Apache для тестирования, но вы пытались добавить /? до первой группировки?

RewriteRule (.*/?)([^/\.]+).css$ include/style/styleRedir.php?css=$2.css [L,NC]

Альтернативно, почему бы не 2 правила?

RewriteRule (.*)/([^/\.]+).css$ include/style/styleRedir.php?css=$2.css [L,NC]
RewriteRule /?([^/\.]+).css$ include/style/styleRedir.php?css=$1.css [L,NC]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...