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的情况下运行。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...