Итак, у меня есть ошибки, которые передаются по URL, например
index.php?error=nojs
будет затем проанализирован PHP для возврата сообщения об ошибке, например: Пожалуйста, включите Javascript
Я использую следующую строку в моем .htaccess, чтобы упростить управление URL
RewriteRule ^ERROR_(.*)$ index.php/?error=$1&%{QUERY_STRING} [L]
Это делает мой URL похожим на это:
site.com/ERROR_nojs
Проблема в том, что это работает только для рута,
index.php?error=nojs works fine however
test/index.php?error=nojs does not?
Так, как я могу преобразовать переменную для каждого каталога?
Спасибо. (Мой оригинальный скрипт обрабатывает сотни ошибок и отфильтровывает те, которые могут быть полезны для вывода пользователю. Было бы глупо перенаправлять их в индекс только для того, чтобы они могли видеть маленькое с сообщением об ошибке в нем)
EDIT:
как указал Шай Мишали, удалив '^' до того, как ОШИБКА сделала свое дело.
RewriteRule ERROR_(.*)$ index.php/?error=$1&%{QUERY_STRING} [L]
Но я забыл сказать, что у меня есть другая переменная? Page =
Мне нужно получить этот vairbale и добавить его в URL, чтобы это работало ..
например:
index.php?page=home&error=nojs
= site.com/home/ERROR_nojs
так
www.site.com/?page=home&error=nojs = www.site.com/home/ERROR_nojs
или
www.site/?page=about&error=unknown = www.site.com/about/ERROR_unknown