![]() |
Обработка обращений к файлам
Приветствую. Вопрос хотел бы задать спецам по Апач-PHP
связке. Задачка вот какого рода: есть каталог, куда PHP скрипт сбрасывает простые текстовые файлы (часть работы новостного скрипта, работающего с MySQL). Нужно бы сделать, чтобы прямой доступ к этим файлам в обход PHP-скрипта вызывал запуск скрипта, а не выводил содержимое текстового файла в браузер пользователя (пришедшего, например, с поисковой системы). Заранее спасибо всем. |
можно запретить доступ...... и в обработке 403 смотреть на REFERRER
|
Если требуется при обращении к текстовому файлу запустить вместо него скрипт, то нужно настроить mod_rewrite, а если просто закрыть доступ то это делается htaccess:
<Files ~ "*.txt"> Order allow,deny Deny from all </Files> |
а можно простым редиректом обойтись, особенно если файлы и скрипт в одной дире
RedirectMatch mydir\/(.+\.txt) /myscript.ptp?file_requested=$1 |
Да если и в разных тоже, но незнаю почему, но mod_rewrite мне нравиться больше .
|
Еще вопрос (простите наивность) - знак вопроса при редиректе (RedirectMatch) переводится в urlencode, отчего возникает ссылка на мифический файл. Как этого можно избежать?
|
Если в эту часть вопрос - mydir\/(.+\.txt), то его надо с обратным слешем - \?, а если имена файлов русские, тогда в myscript.ptp надо urldecode. А лучше напиши всю cвою строку RedirectMatch и откуда и куда редирект хочешь сделать.
|
Вот весь .htaccess:
Options -Indexes RedirectMatch permanent .+\/(.+\.txt) ../uptonews.phtml?f=$1 Знак вопроса пробовал еще раньше экранировать, слеш тоже переводился в %чего-то там. Правда, пробовал все это делать в Апачи под Win. |
Лучше воспользуйся mod_rewrite:
RewriteEngine on RewriteRule ^(.*)\.txt$ uptonews.phtml?f=$1 PS: Незабудь его включить . |
LowNoise не пиши в .htaccess, лучше в конфиге сервера прописать
|
Как будто на localhost@win32 это чем-то различается ...
|
А скинь на мыло конфиг, глянем.
|
Какзалось бы при чём тут winda...
|
Если ты про "localhost@win32", то я имел ввиду, что на локальной машине обычно нет заморочек по безопасности и конфиг сервера не сильно отличается от default . Именно поэтому я был не согласен, что писать лучше в конфиге, нежели в htaccess .
|
По идее при каждом обращении к любому файлу в этой дире, сервен должен свериться с .htacess. Так же как нет смысла ему подключать mod_rewrite ради одного простого редиректа, который реализован в core. Для экономии ресурсов.
|
Да, должно быть будет сэкономлено много ресурсов, ну просто огромное количество ;)
|
Зато сразу будет оптимально, лучше чем совсем ничего, согласись :)
|
Пока что с redirect совсем ничего ...
|
| Часовой пояс GMT +4, время: 18:06. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.