Heim > Backend-Entwicklung > PHP-Tutorial > onethink在chrome内核装配流程跳页面丢失session原因跟踪

onethink在chrome内核装配流程跳页面丢失session原因跟踪

WBOY
Freigeben: 2016-06-13 12:00:52
Original
1071 Leute haben es durchsucht

onethink在chrome内核安装流程跳页面丢失session原因跟踪
既有分享,也有疑问

第一次访问onethink,会跳转到安装页面,安装流程分了几步,是通过session('step')判断并控制当前进度的
用360的极速模式和谷歌浏览器(都是chrome内核),发现点下一步页面闪一下没有变化,而火狐和IE正常跳转,chrome下快速多击下一步按钮也正常
打开对应php文件,在安装流程的首行和末行分别打印session('step'),无论怎样刷新都输出01,而火狐第一次输出01,以后全是11,看来chrome在刷新页面后确实session被清空了
一开始认为问题在程序,在其他控制器下添加test操作测试,一网打尽...
偶然发现/Install/Index/index这个操作没有清空session
里面有一句session_destroy(),将它注释后其他页面session都正常了!
真的很奇怪,我访问/Install/install/step2跟你index有个毛线关系!框架总不会到处乱串吧!怒上fiddler!



火狐很老实,chrome原本访问step2却302到step1,又访问favicon.ico然后302到/install.php,这就运行了那句destroy
直接访问那个图标的url,果然
打开onethink自带.htaccess

<br /><IfModule mod_rewrite.c><br />  Options +FollowSymlinks<br />  RewriteEngine On<br /><br />  RewriteCond %{REQUEST_FILENAME} !-d<br />  RewriteCond %{REQUEST_FILENAME} !-f<br />  RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]<br /></IfModule><br />
Nach dem Login kopieren


找到问题所在了,因为图标文件不存在被重写到index.php/favicon.ico,然后302到install.php
现在有2个疑问,隐藏index.php的rewrite语句如何写的更完美一些,判断uri有没有点(.)?另外一个问题是如何在html中告诉chrome不要下载icon呢?

------解决方案--------------------
没有看源文件,不能深究原因

但是并不同意你分析的结果
url 重写是服务端的行为,与客户端无关
如果是因为 /favicon.ico 不存在而导致 302 的话,那么为什么 火狐 和 IE 正常?难道 /favicon.ico 又出来了?
chrome 对文档类型声明的要求是比较严格的
发出 /favicon.ico 的请求,是否是相对路径解析错误呢?

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage