IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Обработка обращений к файлам (http://www.imho.ws/showthread.php?t=17118)

LowNoise 04.12.2002 22:32

Обработка обращений к файлам
 
Приветствую. Вопрос хотел бы задать спецам по Апач-PHP
связке. Задачка вот какого рода:
есть каталог, куда PHP скрипт сбрасывает простые текстовые
файлы (часть работы новостного скрипта, работающего с MySQL). Нужно бы сделать, чтобы прямой доступ к этим файлам в обход PHP-скрипта вызывал запуск скрипта, а не выводил содержимое текстового файла в браузер пользователя (пришедшего, например, с поисковой системы). Заранее спасибо всем.

Stasik 05.12.2002 01:06

можно запретить доступ...... и в обработке 403 смотреть на REFERRER

RaZEr 05.12.2002 01:23

Если требуется при обращении к текстовому файлу запустить вместо него скрипт, то нужно настроить mod_rewrite, а если просто закрыть доступ то это делается htaccess:

<Files ~ "*.txt">
Order allow,deny
Deny from all
</Files>

AA666 06.12.2002 23:54

а можно простым редиректом обойтись, особенно если файлы и скрипт в одной дире

RedirectMatch mydir\/(.+\.txt) /myscript.ptp?file_requested=$1

RaZEr 07.12.2002 21:01

Да если и в разных тоже, но незнаю почему, но mod_rewrite мне нравиться больше .

LowNoise 09.12.2002 20:53

Еще вопрос (простите наивность) - знак вопроса при редиректе (RedirectMatch) переводится в urlencode, отчего возникает ссылка на мифический файл. Как этого можно избежать?

AA666 09.12.2002 22:39

Если в эту часть вопрос - mydir\/(.+\.txt), то его надо с обратным слешем - \?, а если имена файлов русские, тогда в myscript.ptp надо urldecode. А лучше напиши всю cвою строку RedirectMatch и откуда и куда редирект хочешь сделать.

LowNoise 09.12.2002 22:52

Вот весь .htaccess:

Options -Indexes
RedirectMatch permanent .+\/(.+\.txt) ../uptonews.phtml?f=$1

Знак вопроса пробовал еще раньше экранировать, слеш тоже переводился в %чего-то там. Правда, пробовал все это делать в Апачи под Win.

RaZEr 10.12.2002 02:37

Лучше воспользуйся mod_rewrite:

RewriteEngine on
RewriteRule ^(.*)\.txt$ uptonews.phtml?f=$1

PS: Незабудь его включить .

AA666 10.12.2002 03:27

LowNoise не пиши в .htaccess, лучше в конфиге сервера прописать

RaZEr 10.12.2002 22:54

Как будто на localhost@win32 это чем-то различается ...

AA666 11.12.2002 03:31

А скинь на мыло конфиг, глянем.

AA666 11.12.2002 06:57

Какзалось бы при чём тут winda...

RaZEr 12.12.2002 02:11

Если ты про "localhost@win32", то я имел ввиду, что на локальной машине обычно нет заморочек по безопасности и конфиг сервера не сильно отличается от default . Именно поэтому я был не согласен, что писать лучше в конфиге, нежели в htaccess .

AA666 12.12.2002 03:58

По идее при каждом обращении к любому файлу в этой дире, сервен должен свериться с .htacess. Так же как нет смысла ему подключать mod_rewrite ради одного простого редиректа, который реализован в core. Для экономии ресурсов.

RaZEr 13.12.2002 01:08

Да, должно быть будет сэкономлено много ресурсов, ну просто огромное количество ;)

AA666 13.12.2002 03:29

Зато сразу будет оптимально, лучше чем совсем ничего, согласись :)

RaZEr 13.12.2002 23:50

Пока что с redirect совсем ничего ...


Часовой пояс GMT +4, время: 18:06.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.