Mod_rewrite SWF-файл в другой каталог - PullRequest
1 голос
/ 26 января 2012

Я работаю над сайтом клиента, на котором все файлы .swf были в каталогах, например, через код продукта. g18/g18_flashfile.swf но теперь я переместил их в assets/flash/g18_flashfile.swf

Я пытался переписать запрос mod_rewrite на новое место из-за внешних ссылок на этот файл. Это просто ошибка 500 с

RewriteRule ^([^/]+)/([^.]+)\.swf$ assets/flash/$1/$2\.swf [L]

Я также не могу просто что-то перенаправить, так как уже использую следующее

RewriteRule ^(.*)/$ product.php?ref=$1 [L]

Любая помощь будет великолепна, так как я почесываю голову.

EDIT

Что еще страннее, когда я делаю

RewriteRule ^([^/]+)/([^.]+)\.swf$ assets/flash/$1/$2\.html [L]

Это работает (очевидно, это 404 с, потому что нет файла .html), но перезапись работает. Кто-нибудь знает, является ли swf каким-то термином, используемым в mod_rewrite?

1 Ответ

1 голос
/ 26 января 2012

Регулярное выражение

^([^/]+)/([^.]+)\.swf$

соответствует как g18/g18_flashfile.swf, так и assets/flash/g18_flashfile.swf. Поскольку флаг L может работать не так, как вы ожидали , это проблема.

Просто измените регулярное выражение, чтобы оно не совпадало с вашим переписанным путем:

RewriteRule ^([^/]+)/([^/.]+)\.swf$ assets/flash/$1/$2\.swf [L]
...