PDA

View Full Version : مشکل در redirect و لود نشدن صفحه در اولین مرتبه و لودشدن پس از رفرش



vahid-p
شنبه 25 بهمن 1393, 15:45 عصر
سلام دوستان
مشکلی که دارم رو تو انجمن توسعه وب مطرح کردم (http://barnamenevis.org/showthread.php?485658-%D9%84%D9%88%D8%AF-%D9%86%D8%B4%D8%AF%D9%86-%D8%B5%D9%81%D8%AD%D9%87-%D8%AF%D8%B1-%D8%AF%D9%81%D8%B9%D9%87-%D8%A7%D9%88%D9%84-%D9%88-%D9%84%D9%88%D8%AF-%D8%B4%D8%AF%D9%86-%D9%BE%D8%B3-%D8%A7%D8%B2-%DB%8C%DA%A9%D8%A8%D8%A7%D8%B1-%D8%B1%D9%81%D8%B1%D8%B4%D8%9F!)، فکر کنم مکانش درست نبود و کسی راهنمایی نکرد.
مشکل رو دوباره مطرح می کنم.

به آدرس زیر مراجعه کنید :
www.janahonline.ir (http://www.janahonline.ir)

در اکثر مواقع و برای تقریبا همه کاربران مخصوصا روی PC دفعه اول که آدرس رو میزنن یا حتی زیر آدرس ها ( مثلا janahonline.ir/index.php?top.... ) لود نمیشه و باید یکبار رفرش کنن و بعد از اون تا مرورگر بسته نشده، تقریبا بدون مشکل کار میکنه.
از Debugger کروم و فایرفاکس استفاده کردم ولی اطلاعات زیادی رو نمیده جز اینکه دفعه اول redirect میکنه ( کد 302 اچ تی تی پی )

تشکر

vahid-p
دوشنبه 27 بهمن 1393, 13:10 عصر
کسی نیست راهنمایی کنه؟ با توجه به ابزار گوگل کروم، مشخصه در دفعاتی که صفحه لود نمیشه به خاطر redirect ای هست ( کد http 302 ) که از کلاینت میخواد کوکی رو set میکنه و دوباره بر میگرده و ایندفعه کلاینت با کوکی که سرور بهش داده به اون وصل میشه و ایندفعه دیگه جوابی خاصی نمیاد. البته نکته جالب اینه کوکی که set میکنه تاریخ expire رو میزنه سال 1981 ! ( البته یه سایت که از سیستم مشابه (http://eca.ir/forum2) استفاده میکنه چک کردم، اونم همین تاریخ رو میزنه.)
نکته قابل توجه اینکه در دفعاتی که صفحه بالا نمیاد تو response فیلد location داریم ولی در دفعه ای که صفحه بالا میاد این فیلد رو نداریم. یعنی هر چی هست تو این set-cookie و redirect باید باشه. لطفا یکی کمک کنه!

این هدرها وقتی که صفحه بالا نمیاد :

Request :
GET / HTTP/1.1
Host: janahonline.ir
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,fa;q=0.6

Response :
HTTP/1.1 302 Found
Content-Encoding: gzip
Vary: Accept-Encoding
Date: Mon, 16 Feb 2015 10:15:59 GMT
Server: LiteSpeed
Connection: close
Cache-Control: no-cache, no-store, must-revalidate, max-age=0
Content-Type: text/html; charset=utf-8
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1
X-Content-Type-Options: nosniff
Set-Cookie: PHPSESSID=ab651f4c04fcf3721bb0d498c754b598; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache
Cache-Control: private
Location: http://www.janahonline.ir/index.php?PHPSESSID=ab651f4c04fcf3721bb0d498c754b5 98;wwwRedirect
Content-Length: 20

AutoRedirect - Request :
GET /index.php?PHPSESSID=ab651f4c04fcf3721bb0d498c754b5 98;wwwRedirect HTTP/1.1
Host: www.janahonline.ir
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,fa;q=0.6

AutoRedirect - Response :
HTTP/1.1 200 OK
Content-Encoding: gzip
Vary: Accept-Encoding
Date: Mon, 16 Feb 2015 10:15:59 GMT
Server: LiteSpeed
Connection: close
Content-Type: text/html; charset=utf-8
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1
X-Content-Type-Options: nosniff
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache
Cache-Control: private
Content-Length: 20

اما پس از یکبار رفرش کردن، وقتی که صفحه بالا میاد :

GET / HTTP/1.1
Host: www.janahonline.ir
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,fa;q=0.6
If-Modified-Since: Mon, 09 Feb 2015 12:16:30 GMT

HTTP/1.1 200 OK
Content-Encoding: gzip
Vary: Accept-Encoding
Date: Mon, 16 Feb 2015 10:17:05 GMT
Server: LiteSpeed
Connection: close
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1
X-Content-Type-Options: nosniff
Set-Cookie: PHPSESSID=d66993a05bc215ca08516f6122fe2481; path=/
Pragma: no-cache
Cache-Control: private
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Last-Modified: Mon, 16 Feb 2015 10:17:05 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 12320

vahid-p
دوشنبه 27 بهمن 1393, 13:47 عصر
این به درد نمیخوره؟ تو فایل load.php نوشته :

// A bug in some versions of IIS under CGI (older ones) makes cookie setting not work with Location: headers.
$context['server']['needs_login_fix'] = $context['server']['is_cgi'] && $context['server']['is_iis'];