500.0 Переписать ошибку сервера при отправке формы - PullRequest
1 голос
/ 12 января 2011

Сервер Windows 2008 R2 под управлением PHP 5.3.

У меня есть URL Rewrite для IIS, работающий на нашем сайте.

Переписать это:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Imported Rule 1" stopProcessing="true">
                    <match url="^(.*)$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{R:1}" pattern="^(images|documents|system|themes|favicon\.ico|robots\.txt|index\.php)" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="/index.php/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

Все страницы (domain.com/contact) работают нормально. Но при публикации формы я получаю сообщение об ошибке сервера 500.0, которое, как говорит MSFT, связано с ошибками перезаписи или модуля.

Я установил Fiddler, и заголовки Raw Request в TextView выглядят так

POST http://stage.domain.edu/ HTTP/1.1
Accept: image/jpeg, image/gif, image/pjpeg, application/x-ms-application, application/xaml+xml, application/x-ms-xbap
Referer: http://stage.domain.edu/contact
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E)
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: stage.domain.edu
Content-Length: 519
Connection: Keep-Alive
Pragma: no-cache
Cookie: exp_last_visit=978203019; exp_last_activity=1293563019; exp_tracker=a%3A5%3A%7Bi%3A0%3Bs%3A7%3A%22contact%22%3Bi%3A1%3Bs%3A5%3A%22index%22%3Bi%3A2%3Bs%3A7%3A%22contact%22%3Bi%3A3%3Bs%3A5%3A%22index%22%3Bi%3A4%3Bs%3A7%3A%22contact%22%3B%7D; exp_last_visit=1293563019; exp_last_activity=1294854559

ACT=27&RET=&URI=contact&recipients=HJAUumiTKThex9cAcYNq%2FyBQNLeXkIqACdl3EgaimNM%3D&user_recipients=7f73421623ceb94b5d06abe41d8663dd&charset=&redirect=&replyto=&site_id=2&subject=Contact+Form&to=sxxxxxx@xxxxx.edu&required%5B%5D=Full+Name%3A&required%5B%5D=stephanie&required%5B%5D=Phone%3A&required%5B%5D=954520-1176&sender=E-mail%3A&from=sxxxxxxx@gmail.com&required%5B%5D=Zip+Code%3A&required%5B%5D=33073&message=This+information+was+submitted+via+the+contact+form.&submit.x=72&submit.y=14

Что здесь может быть причиной отправки переменных в основной файл index.php на 500?

1 Ответ

1 голос
/ 09 февраля 2011

Просто ради завершения, проблема была в том, что сервер выдавал 500 ошибок, если что-то было не так, и в CMS было 2 проблемы:

1) Мне пришлось правильно настроить конфигурацию SMTP

Тогда я только что получил пустую страницу.

2) То, что происходило, было то, что CMS использует / n в электронных письмах в качестве новой строки и в окнах Windows, эквивалент новой строки - /r/n....so при изменении этого в электронной почте HTMLконфиг, все работало нормально!

...