如何解决htaccess mod_rewrite,PHP和cookie在浏览器中关闭了
|| 关闭Cookie时,PHP会将会话ID放入URL中。在使用.htaccess重写的情况下,是否必须考虑该会话ID(通过对其进行主动编码)? 另外,我假设关闭Cookie时,如果同时提供.php文件和.html,则无法自动传播会话ID。也就是说,如果用户从.php页面导航到.html页面,然后又返回到.php页面,则会话ID将丢失,因为.html文件无法解释该会话ID。它是否正确?解决方法
在大多数情况下,会话ID在.htaccess处理中不起作用,因为它位于URL的“ 0”部分(即,在“ 1”之后)。但是,如果您在
RewriteCond
中测试QUERY_STRING
或将其替换为replace4 replace,则可能不得不考虑它。
并且您正确地假设,会话ID将不会通过纯HTML文件传播。但是,您可以使用.htaccess
通过PHP运行.html
个文件:
AddType application/x-httpd-php .html
并使用以下方法激活这些文件的URL重写功能:
<FilesMatch \"\\.html$\">
php_value auto_prepend_file \"/home/*******/public_html/session_start.php\"
</FilesMatch>
其中session_start.php仅包含:
<?php session_start();
(有关详细信息,请参见此SO问题)。
或者,您可以只显示一个错误页面,告诉用户您不支持在关闭Cookie的情况下运行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。