mod_rewrite портит запросы заголовков - PullRequest
0 голосов
/ 18 июня 2011

У меня есть много mod_rewrites в локальном файле .htaccess, которые в основном следуют этому шаблону:

RewriteRule ^page\/?$ /page.php [L,QSA]

На каждой из этих страниц есть заголовок header.php, содержащий одну вставку SQL:

$new_visit = $db->prepare("INSERT INTO stats (ip_address, clientdata, page_title, timestamp) VALUES (?, ?, ?, UTC_TIMESTAMP())");
$new_visit->execute(array($ip, $clientdata, $page_title));

Проблема в том, что каждый раз, когда страница посещается, $ new_visit вызывается три раза вместо одного: один раз для конкретной рассматриваемой страницы и двух дубликатов (которые интересно используют «index.php» для $ page_title независимо от того, что перенаправленная страница была).

Если бы кто-нибудь мог помочь мне исправить это, оставив как mod_rewrite, так и некоторое подобие моей системы посетителей, я был бы очень признателен.

1 Ответ

0 голосов
/ 18 июня 2011

У меня есть много mod_rewrites в локальном файле .htaccess

^ это твоя проблема.

Я столкнулся с подобным случаем, когда я просто не был уверен, что происходит. Оказывается, что изображение не существует, поэтому система не может сгенерировать ссылку на него, поэтому вместо этого она сгенерировала ссылку на index.php (или что-то подобное). Затем браузер загрузил этот скрипт, как будто он ожидал изображения. Это объяснило мою «призрачную» просьбу.

...