ランディング ページが表示されたときにユーザーに UUID を割り当てる CodeIgniter サイトがあります。ランディング ページをリロードすると新しい UUID が割り当てられますが、フォームを進め始めると、UUID は変わりません。しかし、ユーザーが戻るボタンを押したときによくわからないことが起こっており、どの URL で到着したかによって動作が異なりますか?
ケース 1:domain.com/somehash?key=value
またはdomain.com/somehash/
GET パラメータを含む上記の URL にアクセスし、最初のフォーム (uuid を含む) を送信して [戻る] ボタンを押すと、ランディング ページに戻りますが、UUID は変更されません。
ケース 2:domain.com/somehash
GET パラメータがない場合、最初のフォーム (uuid を含む) を送信して [戻る] ボタンを押すと、ランディング ページに戻り、新しい uuid を受け取ります。
最新の Chrome と Firefox でこれをテストしましたが、実装されている何らかのキャッシュ戦略に関連していますか? 理想的には、反撃してもページが更新されません。
編集: このツールでは Cookie を使用できないため、セッションが終了していることに注意してください。
さらに編集: に移動domain.com/
してバックスラッシュを追加すると、戻るボタンを押したときに UUID が更新されなくなります。CodeIgniter の routes.php または .htaccess に関連している可能性がありますか?
関連する .htaccess エントリ:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [L]
Routes.php:
$route['default_controller'] = "home";
$route['404_override'] = '';
$route['(:any)'] = 'home/index/$1';