Перенаправление вызовов для определенного расширения файла

#mod-rewrite

#переписать мод

Вопрос:

Я пытаюсь перенаправить любые вызовы для определенного расширения файла (здесь .jphp) на другой URL, используя часть имени файла вызова в качестве вложенной папки. Я пытаюсь:

 RewriteEngine On
RewriteRule [^/]/([^.jphp]).jphp /js/$1/
  

Он должен игнорировать все, что предшествует последнему «/», затем сохранить имя файла в $ 1 и перенаправить на HOST / js//
Что я делаю не так?

Ответ №1:

A ^ как первый символ в классе символов regex [] является инверсией. [^/] вычисляется как «любой символ, который НЕ является косой чертой», а [^.jphp] вычисляется как «любой символ, который НЕ является . , j p или h «.

Поскольку вы не указываете ограничения на повторяемость символов, вы ограничиваете свои URL-адреса формой

x / z.jphp

где x и z — это любые одиночные символы, которые НЕ являются одним из исключенных символов, упомянутых выше.