Автор Тема: mod_rewrite + POST  (Прочитано 4815 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Nickolaz

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 38
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
mod_rewrite + POST
« : 04 Марта 2005, 14:20:34 »
Задача:
Есть площадка www.xxx.ru
В корневом каталоге находятся search.php и др. скрипты
Необходимо обрабатывать ссылки вида www.xxx.ru/en/search.php  www.xxx.ru/fr/search.php и т д
Да так, чтобы скрипту шли параметры и по GET и по POST
Реальное обращение естесственно к www.xxx.ru/search.php (например, добавляется по GET LANGUAGE=en).
Для GET достаточно
RewriteRule    ^en/(\\w+)\\.php  http://www.xxx.ru/$1.php?LANGUAGE=en&%{QUERY_STRING}
Но POST при этом теряется.

Какие правила прописать в .htaccess?  И возможно ли это вообще?

Оффлайн Nickolaz

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 38
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
mod_rewrite + POST
« Ответ #1 : 04 Марта 2005, 14:22:35 »
Цитировать
Да так, чтобы скрипту шли параметры и по GET и по POST

Вообще, если можно будет использовать только один метод - я не против...
Но поиск из формы - только через POST

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
mod_rewrite + POST
« Ответ #2 : 04 Марта 2005, 15:28:35 »
Цитировать
Nickolaz:
поиск из формы - только через POST

это заблуждение.
правильно это утверждение звучит так: поиск из формы - через GET и только через GET.
Цитировать
Nickolaz:
Но POST при этом теряется.

никогда не понимал людей, применяющих реврайт, и при этом перенаправляющих на урл!
мало того, что это заставляет браузер сделать лишний запрос - так еще и проблемы типа вышеприведенной вылезают.

Оффлайн Nickolaz

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 38
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
mod_rewrite + POST
« Ответ #3 : 04 Марта 2005, 15:34:17 »
такие ответы прошу держать при себе.
1. Из формы - только через POST. Таково задание и это НЕ заблуждение
2. Браузер делает ЕДИНСТВЕННЫЙ запрос - http://www.xxx.ru/en/search.php с передачей строки, которую надо найти.
Иногда лучше жевать чем писать.

Я просил дать ответы на вопросы: "Какие правила прописать в .htaccess? И возможно ли это вообще?"
Вопрос актуален до сих пор.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
mod_rewrite + POST
« Ответ #4 : 04 Марта 2005, 16:02:11 »
Nickolaz прислушайся к Ромику - он дело говорит.

Цитировать
Nickolaz:
1. Из формы - только через POST. Таково задание и это НЕ заблуждение

RewriteRule ^en/(\\w+)\\.php http://www.xxx.ru/$1.php?LANGUAGE=en&%{QUERY_STRING}

Цитировать
Nickolaz:
2. Браузер делает ЕДИНСТВЕННЫЙ запрос - http://www.xxx.ru/en/search.php с передачей строки, которую надо найти.

А спорим что не один?
The documentations is your friend

Оффлайн Nickolaz

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 38
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
mod_rewrite + POST
« Ответ #5 : 04 Марта 2005, 16:19:04 »
хорошо. Нужно сделать на одной площадке много языков. Но переписывать постоянно скрипты не могу. Надо сделать так, чтобы по ссылке www.xxx.ru/en/script.php было дано управление скрипту script.php из корневой директории, но при этом передать всё, что должно прийти из браузера и еще язык, т.е. "en". Разные скрипты используют разные методы. search.php в моём предыдущем примере использовал метод POST. Пример правила я привел для GET, а нужен для POST.
У меня нет возможности исправлять скрипты, но есть - .htaccess
Какие возможны варианты, кроме создания реальных папок для каждого языка?

А насчет запросов к браузеру - что-то я не понял, как это он делает несколько запросов? Он делает запрос http://www.xxx.ru/en/search.php  На сервере через mod_rewrite выдается скрипт http://www.xxx.ru/search.php - так зачем еще запрос?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
mod_rewrite + POST
« Ответ #6 : 04 Марта 2005, 17:05:18 »
Ну учитывая то, что ты понимаешь что на веревке, которую ты просишь, запросто можно повесится, держи ключ для RewriteRule строки - [PT].

Цитировать
Nickolaz:
А насчет запросов к браузеру - что-то я не понял, как это он делает несколько запросов?

1. посылаешь запрос из search.php на сервер
2. сервер обрабатывает RewriteRule и посылает второй(!) запрос на http://www.xxx.ru/$1.php?LANGUAGE=en
The documentations is your friend

Оффлайн Nickolaz

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 38
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
mod_rewrite + POST
« Ответ #7 : 04 Марта 2005, 17:19:28 »
NeoNox: thanx a lot!

Не подскажешь, где доки взять по mod_rewrite?
Просто я никогда с ним не работал, а тут срочный вопрос (одного дня) - поэтому я так агрессивно и спрашивал...

Теперь, когда всё временно устроил, можно поглубже почитать.

А по поводу запросов - я говорил про браузер пользователя. А то что два запроса отправяет сервер - это понятно. Вот если бы браузер отправлял - тогда были бы другие проблемы.

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
mod_rewrite + POST
« Ответ #8 : 04 Марта 2005, 19:15:41 »
Nickolaz
RomikChef
для ругани есть приват!
And no religion too...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28