htaccess mod_rewrite, PHP и файлы cookie отключены в браузере - PullRequest
0 голосов
/ 26 мая 2011

PHP помещает идентификатор сессии в URL, когда куки отключены.Нужно ли учитывать этот идентификатор сеанса (путем его упреждающего кодирования) в случае, когда используется перезапись .htaccess?

Кроме того, я предполагаю, что когда cookie отключены, идентификатор сеанса не может распространяться автоматически, когдаесть смесь файлов .php и .html.То есть, если пользователь переходит на страницу .html со страницы .php, а затем обратно на страницу .php, идентификатор сеанса теряется, поскольку файл .html не может его учесть.Это правильно?

1 Ответ

1 голос
/ 26 мая 2011

В большинстве случаев идентификатор сеанса не отображается при обработке .htaccess, поскольку он находится в части QUERY_STRING URL (то есть после ?).Но вам, возможно, придется учитывать это, если вы тестируете QUERY_STRING в RewriteCond или заменяете его в RewriteRule.

И вы полагаете, что идентификатор сеанса не будет распространяться через чистый HTML-файл,Однако вы можете использовать .htaccess для запуска .html файлов через PHP:

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();

(подробности см. в этом вопросе ).

Или вы можете просто открыть страницу с ошибкой, сообщая пользователям, что вы нене поддерживает работу с отключенными файлами cookie.

...