it-swarm.asia

افتح صفحة تعيد التوجيه دون مسح ذاكرة التخزين المؤقت

لقد استولت على موقع ويب به صفحة index.html يعيد التوجيه. يتم تخزين هذه الصفحة مؤقتًا. من الواضح أن مسح ذاكرة التخزين المؤقت للمتصفح بالكامل سيؤدي إلى حل المشكلة. هل هناك أي طريقة للذهاب مباشرة إلى mysite.com والتأكد من الحصول على الصفحة الجديدة دون مسح ذاكرة التخزين المؤقت بالكامل؟

أنا أبحث عن شيء مشابه لعقد التحول عند إعادة تحميل صفحة ، هذه المرة فقط للافتتاح الأولي للصفحة.

2
LanceH

عندما يصادف مستعرض ويب حسن التصرف المحتوى المخزن مؤقتًا ، فإنه لا يزال يطلب عمومًا head الجزء من المستند المخزن مؤقتًا حتى يتمكن من التأكد من عدم تغير المحتوى منذ آخر مرة تم تخزينه في ذاكرة التخزين المؤقت. ما دام يتغير last-modified أو content-length ، فلن تواجه مشكلة.

تنشأ المشكلات عندما يكون خادم الويب قد أخبر متصفحات الويب صراحة بتخزين ذاكرة التخزين المؤقت لصفحة الفهرس بشكل كبير ، أو عندما يكون هناك خوادم بروكسي بين الفترات.

أنا أعتبر أنك غيّرت بالفعل صفحة index.html لكن بعض المستخدمين ما زالوا يعيدون التوجيه؟

2
Mark Henderson

فقط اطلب من هذه الصفحة إرسال رؤوس مكافحة التخزين المؤقت في كل مرة يقوم فيها المستخدم بتحميلها. سيؤدي ذلك إلى إجبار المستعرض على الحصول على نسخة جديدة من الصفحة في كل مرة. يمكنك القيام بذلك دون التأثير على التخزين المؤقت للصفحات الأخرى في الموقع.

يمكنك استخدام العلامات الوصفية:

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<META HTTP-EQUIV="Expires" CONTENT="-1"> 

في PHP إرسال رؤوس http (يجب عليك إخبار Apache بتحليل الملف كـ PHP)

Header( "Last-Modified: " . gmdate( "D, j M Y H:i:s" ) . " GMT" );
Header( "Expires: Sat, 26 Jul 1997 05:00:00 GMT" );
Header( "Cache-Control: no-store, no-cache, must-revalidate" ); 
Header( "Cache-Control: post-check=0, pre-check=0", FALSE );
Header( "Pragma: no-cache" ); 

في أباتشي. htaccess

<FilesMatch "index.html$">
FileETag None
<IfModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Sat, 26 Jul 1997 05:00:00 GMT"
</IfModule>
</FilesMatch>
2
John Conde

هل يمكنك إعادة تسمية ملف index.html الموجود إلى اسم ملف فهرس دليل افتراضي آخر ، مثل index.htm أو default.html أو default.htm أو index.php؟ لن يساعد ذلك عندما يخرج الأشخاص index.html مؤقتًا وينتقلون إلى http://www.example.com/index.html ، ولكنه قد يساعد عندما ينتقل الأشخاص مباشرة إلى http://www.example.com/...

0
Josh