Эта тема на forum.dklab.ru


Vegor: htaccess, некоторое подобие mod_rewrite
Задача: Вести собственные логи (нет возможности смотреть apache log)
Идея:
Когда пользователь запрашивает опр. страницу, сначала подгружается php скрипт, который делает все работу по записи логов и потом уже выдается содержание страницы.

Примерно тоже самое что и делает mod_rewrite, но с оговоркой, пользователю надо показать тужу страницу, что он и запросил (а не пересылать на опр скрипт.).
Как реализовать ?
Юрий Насретдинов:
Vegor
Переписываете mod_rewrite'ом на скриптик, а потом выдаёте содержимое файла примерно так:

readfile($_SERVER['PATH_TRANSLATED']);
Vegor:
2Юpий Насрeтдинов
Не самый удачный вариант, во первых не отображаются картинки, флешки и пр.
Во вторых похоже что на файлы заголовки отправляются не правельные.
Юрий Насретдинов:
Не самый удачный вариант
Идея Ваша, заметьте. Я лишь подсказал, какую переменную сервера нужно смотреть, чтобы это реализовать.

во первых не отображаются картинки, флешки и пр.
mod_rewrite'ом можно на скриптик переписывать только обращения к html-файлам

Во вторых похоже что на файлы заголовки отправляются не правельные.
Для html-файлов правильные. А для картинок я думаю логи вести бессмысленно. Можно конечно, но это будет пустая трата времени.
Anonymous:
2Юpий Насрeтдинов
1. это не обязательно должен быть мод реврайт, это я просто привел пример.
2. Картинки - мне не нужны логи, мне нужно чтобы они коррекно отображались, но они вообще не отображаются.
az:
Картинки - мне не нужны логи, мне нужно чтобы они коррекно отображались, но они вообще не отображаются.
А Вы приведите пример Вашего файла .htaccess и файла, который затем выводит информацию, а мы уже вместе постараемся что-нибудь придумать.
VEgor:
Вот мой (взят из форума):

php_value register_globals Off
php_value magic_quotes_gpc On

Options -Indexes
RewriteEngine on

#добавляем слеш после названия директорий (директория - это файл без точки «.»)
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1/ [R,L,QSA]

#директории, для которых не нужна переадресация (например папка с картинками)
RewriteCond %{REQUEST_URI} ^/(design|iv_pic|bo|dimg|playlist)/.*|^(/robots\.txt|/favicon\.ico|/kalendar\.php|/forum.php|.*\.doc)
RewriteRule . - [L]

#файлы, для которых необходимо всегда выдавать 403 ошибку (доступ запрещен)
<FilesMatch "(phpinfo.php|megasecret.jpg)">
deny from all
</FilesMatch>

#директории, для которых необходимо выдавать 403 ошибку
RewriteCond %{REQUEST_URI} ^/(modules|templates|lang)/
RewriteRule . - [F]

#перенаправлять все остальные запросы на файлик index.php
RewriteRule (.*) i.php [L]



Тут как работает - все запросы отсылаются на i.php, что мне нужно:
Чтобы запрос отсылался на i.php (когда человек запросил какую либо страницу) + ЕМУ отображалась та страница, которую он запросил.

грубо говоря.
чтобы происходило тоже самое, если на каждой странице сайта я пропишу

include("i.php");

вобщем нужно чтобы ко всем страницам подключался i.php

Эта тема на forum.dklab.ru