mod_rewrite из формы GET - PullRequest
       14

mod_rewrite из формы GET

0 голосов
/ 27 января 2012

У меня есть форма get, которая возвращает переменную местоположения в URL.Переписывание URL всего моего сайта работает отдельно от моей формы get.Всякий раз, когда я отправляю форму, я хочу, чтобы она шла по адресу:

/ findus / location / locationvalue

, но в настоящее время она отправляется по адресу:

find_us? Location = locationvalue

Вот мой текущий файл .htaccess:

RewriteEngine On    # Turn on the rewriting engine

RewriteRule  ^([^/.]+)/?$ $1.php [L] # rewrite without query string parameters
RewriteRule  ^([^/.]+)/([^/.]+)/([^/.]+)/?$ $1.php?$2=$3 [L] # one parameter
RewriteRule  ^([^/.]+)/([^/.]+)/([^/.]+)/([^/.]+)/([^/.]+)/?$ $1.php?$2=$3&$4=$5 [L] # two parameters

1 Ответ

0 голосов
/ 27 января 2012

Как прокомментировал Фил, на самом деле это не проблема переписывания, а скорее сценарий, который генерирует форму. Это выдаст HTML что-то вроде:

<form id="some_form_name" method="post" action="some_action">

где "some_action" - это URI, который нужно выполнить. Если генерирующий скрипт использует $_SERVER["REQUEST_URI"] (предположим, PHP), он сгенерирует внутреннюю форму URI, а не внешнюю форму, и это то, что происходит. Чтобы это исправить, вам нужно изменить код формы, чтобы генерировать действия, которые используют внешний формат URI.

...