#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 — это любые одиночные символы, которые НЕ являются одним из исключенных символов, упомянутых выше.