Формы WordPress Gravity с красивым URL-адресом (перезапись URL-адреса) на IIS7

У нас возникла проблема с экземпляром WordPress, работающим на сервере IIS 7. Гравитационные формы используются для запроса информации у пользователя.

Когда мы заполняем форму Gravity только информацией, введенной пользователем, это работает как шарм. Однако, когда некоторая информация предварительно заполняется в форме Gravity с использованием некоторых дополнительных параметров, таких как ?param1=1&param2=2, в результате нет записи в базе данных.

Если мы отключим красивые URL-адреса WordPress и снова добавим параметры к URL-адресу, форма снова заработает. Итак, мы пришли к выводу, что это something связано с правилами перезаписи. Это то, что касается нашего текущего анализа (и моих знаний о поведении IIS при перезаписи правил).

Я добавил текущий web.config ниже. Надеюсь, что кто-то может дать нам руку.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <httpErrors errorMode="Detailed">
      </httpErrors>
    <rewrite>
      <rules>
            <rule name="wordpress" patternSyntax="Wildcard">
                <match url="*"/>
                    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
                    </conditions>
                <action type="Rewrite" url="index.php"/>
            </rule></rules>
    </rewrite>
    <directoryBrowse enabled="false"/>
  </system.webServer>
  <appSettings>
    <add key="Response.TrySkipIisCustomErrors" value="true"/>
  </appSettings>
</configuration>

Путь, который не работает должным образом: +NL+-+Voetbal+-+Email1&utm_medium=email&utm_term=0_75d85ff960-0b940c24f2-96711629" rel="nofollow">http://www.greenfields-kunstgras.nl/voetbalvelden/voetbal-kostencalculator/?utm_source=GF+NL+-+Voetbalvelden+ --+Optin&utm_campaign=0b940c24f2-GF+NL+-+Voetbal+-+Email1&utm_medium=email&utm_term=0_75d85ff960-0b940c24f2-96711629

Путь, который работает (если красивые URL-адреса отключены) - http://www.greenfields-kunstgras.nl/?page_id=2670&utm_source=GF+NL+-+Voetbalvelden+-+Optin&utm_campaign=0b940c24f2-GF+NL+--+Voetbal+-+Email1&utm_medium=email&utm_term=0_75d85ff960-0b940c24f2-96711629#gf_2

Когда вы переходите по ссылке, начальное поведение в обоих случаях соответствует ожидаемому. Только когда форма доработана. При использовании первого пути записи не сохраняются.


person Roel Veldhuizen    schedule 07.08.2013    source источник
comment
И если просто в качестве теста вы замените type="Rewrite" на type="Redirect", куда это вас приведет, когда у вас есть лишние параметры?   -  person cheesemacfly    schedule 08.08.2013
comment
Тогда все, что находится перед параметрами запроса, исчезнет, ​​и вы будете перенаправлены не на ту страницу.   -  person Roel Veldhuizen    schedule 08.08.2013
comment
У вас есть пример пути, который работает, и пути, который не работает (с входными данными, которые у вас есть, и ожидаемым результатом)?   -  person cheesemacfly    schedule 08.08.2013
comment
@cheesemacfly добавил пути. Надеюсь, у вас есть отличные идеи.   -  person Roel Veldhuizen    schedule 12.08.2013
comment
Что если изменить <match url="*"/> на <match url=".*"/>?   -  person cheesemacfly    schedule 12.08.2013
comment
@cheesemacfly, что приведет к ошибке 404. Подробная ошибка: Модуль: IIS Web Core, Уведомление: MapRequestHandler Обработчик: StaticFile Код ошибки: 0x80070002   -  person Roel Veldhuizen    schedule 13.08.2013
comment
вы используете patternSyntax="Wildcard", извините, полностью пропустили это... можете ли вы попробовать использовать Инструмент отслеживания неудачных запросов, чтобы узнать, можете ли вы найти какую-либо дополнительную информацию?   -  person cheesemacfly    schedule 14.08.2013
comment
Нет, я не могу, у меня нет доступа к конфигурации сервера, кроме FTP.   -  person Roel Veldhuizen    schedule 15.08.2013
comment
И можете ли вы получить доступ к журналам IIS?   -  person cheesemacfly    schedule 15.08.2013
comment
Журналы @cheesemacfly можно загрузить с сайта harx.nl/gf-nl-logs.zip. . Я удалю их через несколько дней.   -  person Roel Veldhuizen    schedule 16.08.2013
comment
Кстати, в URL-адресе u_ex130807.log есть запись   -  person Roel Veldhuizen    schedule 16.08.2013
comment
Есть 1 вещь, которую я не понимаю. Где происходит перенаправление с page_id=2670 на voetbalvelden/voetbal-kostencalculator?   -  person cheesemacfly    schedule 16.08.2013
comment
если это отправка формы, вы пробовали скрытые поля для своих параметров? В качестве обходного решения параметры запроса URL-адреса исчезают, поэтому вы не столкнетесь с проблемой конфигурации. Кроме того, что сказал вам администратор вашего сервера, когда вы спросили его о проблеме? На этом сервере могут быть другие правила, которые предотвращают это, просто говорю.   -  person hakre    schedule 20.08.2013
comment
Администратор сервера @hakre сказал нам, что в последнее время на сервере не было никаких существенных изменений (раньше это работало).   -  person Roel Veldhuizen    schedule 20.08.2013
comment
@hakre параметры вставляются в скрытые поля при входе на страницу   -  person Roel Veldhuizen    schedule 20.08.2013
comment
@cheesemacfly page_id=2670 работает, когда красивые URL-адреса отключены. WP в основном удалит правила перезаписи для этого.   -  person Roel Veldhuizen    schedule 20.08.2013


Ответы (1)


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

person Vikram Rao    schedule 17.08.2013