htaccess перенаправляет все изображения в другое место и помещает имя изображения в новый URL - PullRequest
2 голосов
/ 18 апреля 2011

Это правило перезаписи, с которым я работаю:

RewriteRule (.*\.(jpe?g|gif|bmp|png))$ http://www.newurl.com/?image=$1

Я хочу, чтобы все изображения перенаправлялись в новое место, и это правило работает по-приличному. Проблема в том, что $ 1 будет содержать весь URL из старого запроса, а не только имя файла. Мне нужно только имя файла, и все, что я пробую, похоже, не работает должным образом. Любая помощь приветствуется.

Я думаю, я понял это. Если у кого-то есть другие решения, пожалуйста, не стесняйтесь добавлять их. Спасибо.

RewriteRule ^([^.]+)/([^.]+\.(jpe?g|gif|bmp|png))$ http://www.newurl.com/$2

Спасибо.

1 Ответ

7 голосов
/ 18 апреля 2011

На самом деле это правило будет лучше для вас:

RewriteRule ([^.]+\.(jpe?g|gif|bmp|png))$ http://www.newurl.com/$1 [R=301,L,NC]

Лучше соответствовать только имени изображения, чем полному REQUEST_URI, таким образом, удаляя начало текстового символа ^

R Флаг документации

...