В адресной строке ввожу
draft.local/test.php . Имеется вот такой .htaccess
RewriteEngine On
RewriteBase /
#RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} !/test\.php
RewriteRule .* test.php
в test.php есть код с запросом к БД на добавление одной записи:
$host='localHost';
$user='root';
$pass='';
$dbName='testDB';
$table='site';
$link=mysqli_connect($host, $user, $pass, $dbName);
mysqli_query($link, "SET NAMES 'utf8'");
$query="INSERT INTO $table (title, date) VALUES ('now', NOW())";
при таком наборе директив в .htaccess запись в БД добавляется дважды!! объясните, как "протекает процесс"? почему он дважды вызывает test.php?
код не имеет смысла, прост разбираюсь как работает .htaccess.
как мне кажется, я сказал ему бессмыслицу:
RewriteCond говорит, что если это не test.php, то правило ниже не должно выполнятся, а получается, что страница дважды выполняется.
если использовать такой набор:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f
#RewriteCond %{REQUEST_URI} !/test\.php
RewriteRule .* test.php
то работает корректно, хотя, как я понял, должно было замкнуться, ведь адрес не меняется при итерациях внутри .htaccess..
в общем, буду признателен, если распедалите ситацию))