Изменение запроса в зависимости от условий

Обсуждение любых вопросов связанных с файлами конфигурации .htaccess

Изменение запроса в зависимости от условий

Сообщение tonchikp » Ср май 20, 2020 6:26 pm

Подскажите пожалуйста, как мне сделать такое?

  1. Есть запрос
    /директория/файл?строка

    надо превратить в
    /директория/файл.php?строка

    (то есть добавить к нему .php)
  2. А если файла не существует то превратить его в
    /директория/файл.html?строка

    (то есть заменить .php на .html)
tonchikp
 
Сообщений: 3
Зарегистрирован: Ср май 20, 2020 6:19 pm
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Emilien » Ср май 20, 2020 6:35 pm

Код: выделить все
RewriteCond %{DOCUMENT_ROOT}/$0.php -f
RewriteRule ^folder/.+ $0.php [L]

RewriteCond %{DOCUMENT_ROOT}/$0.html -f
RewriteRule ^folder/.+ $0.html [L]
Emilien
Мл. Сержант
 
Сообщений: 84
Зарегистрирован: Чт дек 10, 2015 3:35 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение tonchikp » Ср май 20, 2020 8:05 pm

Спасибо за ответ! Попробую

1. А если "директории" может и не быть в запросе? Можно убрать "folder"?
2. в $0 подставляется полный запрос, а не получится так "/директория/файл?запрос.php" вместо "/директория/файл.php?запрос"?
tonchikp
 
Сообщений: 3
Зарегистрирован: Ср май 20, 2020 6:19 pm
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Emilien » Ср май 20, 2020 8:21 pm

1. "folder/" можно убрать. RewriteRule ^.+ $0.php [L]
2. На вход RewriteRule попадает только путь к файлу, а GET параметры следует искать в переменной %{QUERY_STRING}.
как работает mod_rewrite
Emilien
Мл. Сержант
 
Сообщений: 84
Зарегистрирован: Чт дек 10, 2015 3:35 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение tonchikp » Ср май 20, 2020 8:28 pm

Отлично! Спасибо!

Добавлено:
Ещё раз огромное спасибо! Вы мне очень-очень помогли вдвойне! И решением, которое одновременно и простое, и короткое, и действует! :) А также статья по вашей ссылке, на которую я почему-то не натыкался раньше!
tonchikp
 
Сообщений: 3
Зарегистрирован: Ср май 20, 2020 6:19 pm
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0


Вернуться в Htaccess

Кто сейчас на форуме

Зарегистрированные пользователи: MailBot