我正在Ubuntu 18.04上运行Apache 2.4.29。 我也在运行PHP 7.2,现在还不能更新到7.3。
我需要在旨在跨站点运行的跟踪小部件上更新PHP会话cookie(PHPSESSID)以及其他一些cookie。
我尝试了许多不同的建议解决方案,但是没有一个起作用。通常,什么也没有发生,其中一些解决方法甚至导致完全不设置cookie。我尝试过的变通办法包括始终在.conf文件中针对我要更新的特定服务进行Header编辑。
由于更新Apache配置文件无效,因此我尝试在htaccess文件中执行此操作,但这也无济于事或破坏了cookie。
我尝试将其添加到htaccess文件的开头:
Header always edit Set-Cookie ^(.*)$ "$1; HttpOnly; Secure; SameSite=None"
没有更改cookie。
然后我在htaccess中创建了一个cookie以测试该部分:
Header set Set-Cookie "language=eng; path=/; HttpOnly; Secure; SameSite=None"
这适用于该新语言的cookie,但其余cookie均未设置事件。
这是我当前的测试htaccess文件的样子:
Header set Set-Cookie "language=eng; path=/;"
Header always edit Set-Cookie ^(.*)$ "$1; HttpOnly; Secure; SameSite=None"
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
我希望语言cookie的末尾附加HttpOnly;Secure;SameSite=None
,但没有。根据Chrome开发者工具的说法,我的响应标题仅包含以下内容:
Set-Cookie: language=eng; path=/;
我不知道我在做什么错。我尝试过使用正则表达式的不同组合进行编辑,但没有结果。
请帮助!