Здравствуйте, какая-то мистика происходит, может здесь есть люди понимающие о чем речь.
Страница на index.html главный страница сразу перекидывает на основу без index.html а просто сайт.ру
И вот какая проблема, если открывать luboenazvanie.html и вставлять счетчик нажатий на ссылку,
он работает.
А на главной странице,
почему то не работает, а через index.html снова работает.
Подскажите почему, вдруг где ошибка, скинул все что может понадобиться.
Очень надеюсь на знающего человека, спасибо:)
взял за основу
<a href="#" id="like">Файл [скачено <output id="statlike">0</output> раз]</a>
<script>
document.getElementById('like').addEventListener('click', function(e){
if (window.XMLHttpRequest) {
var http = new XMLHttpRequest();
http.open('POST', 'stat.php'); // совет: заменить на абсолютный адрес, например, http://сайт.ru/stat.php
http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
http.addEventListener('readystatechange', function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById('statlike').innerHTML = this.responseText; // изменить число в теге output, после того, как запрос будет исполнен
}
});
http.send('url=' + location.pathname); // передать в POST запросе адрес файла, который нужно изменить
}
});
</script>
php обработчик<?php
if (isset ($_POST['url'])) { // если переменная установлена (передана)
$fn = $_SERVER['DOCUMENT_ROOT'] . $_POST['url']; // абсолютный адрес файла
if (file_exists($fn)) { // если файл существует
$f = fopen($fn, "r+"); // открыть файл
if (flock($f, LOCK_EX)) { // заблокировать файл, пока выполняется скрипт [php.net]
$fr = fread($f, filesize($fn)); // записать в переменную содержимое файла
$pattern = '/()(\d+)(<\/output>)/i';
$line_ok = preg_match($pattern, $fr, $matches);
if($line_ok == 1) { // если в содержимом был найден тег output с id="statlike"
$m = $matches[2] + 1; // к числу прибавить 1
$fr = preg_replace($pattern, '${1}'.$m.'$3', $fr, 1); // изменить число в содержимом
rewind($f); // переместить указатель в начало файла
ftruncate($f, 0); // очистить файл
fwrite($f, $fr); // записать в файл содержимое с изменённым числом
}
echo $m; // вывести число, чтобы передать в JS
flock($f, LOCK_UN); // разблокировать файл
}
fclose($f); // закрыть файл
}
}
?>
.htaccessAddDefaultCharset utf-8
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^/?(.*)
https://%1/$1 [L,R=permanent]
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .*
https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$
http://%{HTTP_HOST}/ [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.htm\ HTTP/
RewriteRule ^index\.htm$
http://%{HTTP_HOST}/ [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$
http://%{HTTP_HOST}/ [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTP/
RewriteRule ^index$
http://%{HTTP_HOST}/ [R=301,L]
##ERRORS
ErrorDocument 401 /errors404/errors404.html
ErrorDocument 403 /errors404/errors404.html
ErrorDocument 404 /errors404/errors404.html
ErrorDocument 500 /errors404/errors404.html