"Редирект" с помощью .htaccess -- как на самом деле открывать другой файл. "Несуществующий" url Получение символа из адреса

Допустим есть сайт example.com
в корне есть директория img, в этой директории есть поддиректории s/, m/, d/в каждой из этих поддиректорий есть файлы к примере 1.jpg, 15.jpg, 4.jpg.

Вопрос пользователь вводит не существующий адрес например:
example.com/s1.jpg как можно его перенаправить в директорию example.com/img/s/1.jpg

Используем .htaccess

Решение

RewriteEngine on
RewriteCond %{REQUEST_URI} (.*)/?(.*)\.jpe?g
RewriteRule ([^/.\d]*)/?([^/\D]*)\.jpe?g /goods/$1/$2.jpg [L,R=301]

Key Words for FKN + antitotal forum (CS VSU):

vedro-compota's picture

ну это надо экспериментировать, с помощи регулярки получить первую букву, её сделать папкой и т.д. Как использовать полученный параметр ($1 напр), можно глянуть тут.

_____________
матфак вгу и остальная классика =)

sid's picture

спасибо, буду экспериментировать

sid's picture

Решил пока может быть сыровато, но с задачей справляется.

RewriteEngine on
RewriteCond %{REQUEST_URI} (.*)/?(.*)\.jpe?g
RewriteRule ([^/.\d]*)/?([^/\D]*)\.jpe?g /goods/$1/$2.jpg [L,R=301]
vedro-compota's picture

отлично. В самом вопросе сделайте подзаголовок "Решение" (h2) и скопируйте его туда. В комментарии пусть тоже остаётся.

_____________
матфак вгу и остальная классика =)

vedro-compota's picture

и ещё -- это не редирект, никакой переадресации браузера тут быть не должно. Это называется подмена url.

_____________
матфак вгу и остальная классика =)

vedro-compota's picture

И ещё поправил заголовок на более информативный.

_____________
матфак вгу и остальная классика =)