.htaccess mod_rewrite

defaul
На сайте с 18.01.2009
Offline
22
528

Добрый день.

Есть путь к картинкам например images/cat1/pic.jpg который нужно сделать таким images/cat1-pic.jpg

Делаю так

RewriteEngine On
RewriteBase /
RewriteRule ^/?images/(cat\d+)/(.*)$ images/$1-$2 [NC,L]

Всё работает на localhost, но на хостинге выдаёт 404. Думаю что он ищет конкретно файл и когда его не находит выводи 404.

пробовал

RewriteRule ^/?images/(cat\d+)/(.*)\.(.*)$ images/$1-$2\.jpg [NC,L]

тогда всё работает, но только если картинку запрашивать например как images/cat1-pic.qweqwe, т.е. с не известным расширением.

Кто-нибудь сталкивался с таким? Как заставить не искать физически файлы с известным расширением на хосте.

gormarket
На сайте с 29.12.2010
Offline
47
#1

Для начала проверьте, совпадает ли регистр расширения файла с тем, что запрашиваете.

Сталкивался с подобным когда запрашивал *.jpg, а файлы имели расширение JPG.

Под виндой локально все работало, а на хостинге нет.

Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)
defaul
На сайте с 18.01.2009
Offline
22
#2

gormarket, тоже с этим сталкивался, но это не тот случай.

gormarket
На сайте с 29.12.2010
Offline
47
#3

Может у Вас на хостинге статика отдается не через Apache, а другим веб-сервером (например Nginx) ?

defaul
На сайте с 18.01.2009
Offline
22
#4

Apache 2.2.12 (Ubuntu)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий