Что отсутствует?
RewriteEngine и Redirect это директивы разных модулей.
Если совмещаются то Redirect'ы должны стоять перед всеми Rewrit'ами.
Либо пишите редирект на RewriteRule.
Я не вижу здесь реврайты чпу. Это реально существующие папки на сервере? Тогда да - будет зацикливание. Нужно либо редиректить на с слешом в конце, либо отключить на сервере директиву которая редиректит папки без слеша. Либо можно попробовать написать реврайт.
RewriteEngine On
RewriteRule ^([^/]+)/(index\.html)?$ http://domen.ru/$1 [R=301,L]
Это что за говнокод, структуру таблицы text покажите. Откуда mysql_fetch_array при инсерте?
$text = $_POST['text']; $rows = explode("\n", $text); foreach($rows as $row){ $row = trim($row); if(! $row) continue; $row = mysql_escape_string($row); mysql_query("INSERT INTO text (sss) VALUES ('{$row}')"); }
- Это для несуществующих файлов (которые не реврайтятся на index.php):
ErrorDocument 404 моя_404_страница
моя_404_страница имеет две формы записи - с http и без. http://httpd.apache.org/docs/2.2/mod/core.html#errordocument
- Для урл'ов которые реврайтятся на index.php делайте свою страницу ошибок на уровне cms.
<script src="/counters.js"></script>
добавить после RewriteEngine On
RewriteCond %{QUERY_STRING} ^do=register
RewriteRule ^index\.php - [F]
Может быть кеш браузера, хз. Я не вижу причин почему он не должен сработать. Если для ввв работает, то и для всех остальных тем более.
Должен работать для всех. Значит либо перекрывается другими (вставили не там где нужно), либо дело в чем нибудь другом.