Форма отправки получает перенаправление - PullRequest
0 голосов
/ 10 ноября 2011

Я получаю это странное поведение во всех браузерах при попытке отправить эту форму.Эта форма имеет только 2 поля, заголовок и текст статьи.По умолчанию используется форма application / x-www-form-urlencoded.Когда отправлено, сайт иногда отвечает 404.

Журнал ниже взят непосредственно из Live HTTP Headers.

http://www.faulty-domain.com/article-page  

POST /article-page HTTP/1.1  
Host: www.faulty-domain.com  
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.23) Gecko/20110920   Firefox/3.6.23 ( .NET CLR 3.5.30729)  
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8  
Accept-Language: en-us,en;q=0.5  
Accept-Encoding: gzip,deflate  
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7  
Keep-Alive: 115  
Connection: keep-alive  
Referer: http://www.faulty-domain.com/article-page  
Content-Type: application/x-www-form-urlencoded  
Content-Length: 3288  
blog_title=Article+Title+to+save&newsbody=%3Cp%3EThe+current+blah+blah+blah%3C%2Fp%3E  


HTTP/1.1 302 Found  
Date: Tue, 08 Nov 2011 12:42:23 GMT  
Server: Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.8e-fips-rhel5   mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.14  
X-Powered-By: PHP/5.2.14  
Expires: Thu, 19 Nov 1981 08:52:00 GMT  
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0  
Pragma: no-cache  
Location: http://www.faulty-domain.com/notFound  
Content-Encoding: gzip  
Vary: Accept-Encoding  
Content-Length: 26  
Connection: close  
Content-Type: text/html

Страница пытается отправить на себя, а затем проверить, еслиметод был почтовый и различные проверки, обычные вещи.Но тогда ответ http - это страница 404 not found.

Наша внутренняя структура работает как Code Igniter, так что весь запрос будет выполнять index.php.Очевидно, что веб-сервер даже не пытался выполнить index.php, но решил, основываясь на каких-либо заголовках запроса, что ответ должен быть 404.

Теперь я сделал свою собственную отладку и поиграл со статьейЯ отправляю.Я попытался добавить статью абзац за абзацем и посмотреть, по какому абзацу возникает ошибка.Форма подается штрафом до определенного абзаца, в тот момент я сказал Бинго!Я думал, что изолировал проблему и попытался отправить форму, используя только этот абзац, но затем отправил форму.Что сейчас озадачивает меня, почему веб-сервер принимает это как есть, но если добавить его в конце оригинальной статьи, он сходит с ума!

Это, вероятно, вещь htaccess или вещь веб-сервера, ноЯ просто не мог получить эту вещь прибитым.

Обновление:

Для всех тех, кто просил просмотреть отправляемые данные поста, вот ссылка.Я удалю файл через неделю или около того.http://www.globalpropertyguide.com/temp/faulty-article.html

Вот часть htaccess, которая может помочь.В основном наш index.php определяет, какой контроллер вызывать, исходя из того, какое значение получает $ mod.

RewriteRule ^([^/]+)/$ /$1 [R]
RewriteCond %{QUERY_STRING} !mod= [NC]
RewriteRule ^([^/]+)$ /index.php?mod=$1 [L]

Кроме того, если это когда-нибудь может помочь, это ошибка, которая приводит к входу в систему apache error_log

"POST /write-article HTTP/1.1" 302 26 "http://www.faulty-domain.com/write-article" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.24) Gecko/20111103 Firefox/3.6.24 ( .NET CLR 3.5.30729)"
"GET /notFound HTTP/1.1" 404 7635 "http://www.faulty-domain.com/write-article" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.24) Gecko/20111103 Firefox/3.6.24 ( .NET CLR 3.5.30729)"

1 Ответ

0 голосов
/ 15 ноября 2011

Вы должны выяснить, кто вас перенаправляет и почему. Было бы действительно полезно, если бы вы просто обновили свой вопрос сообщением, которое вы пытаетесь опубликовать, и оно было ошибочным, и телом равного размера, которое было принято.

Это может произойти в PHP. Там может быть какая-то проверка на длину или плохие слова, которые делают неправильный редирект. Также может быть какой-то активный плагин Apache, который делает то же самое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...