Константин Абрамов
Просветлённый
  
Карма: 28
Сообщений: 876
Нужен сайт? Нет проблем!
|
 |
« : Июль 16, 2008, 00:22:43 » |
|
Проблема такова - есть временное (на время окончания работ над сайтом) перенаправление на специальную страничку. А именно: Redirect /index.html /service.html [R=302] Разумеется, при открытии сайта вместо www.ateistov.net отображается www.ateistov.net/service.htmlТак вот и вопрос - можно ли как-то с помощью .htaccess прописать, чтобы вне зависимости от того, находится сайт на тех.обслуживании или нет, чтобы выводился адрес www.ateistov.net?
|
|
« Последнее редактирование: Июль 16, 2008, 00:25:52 от Константин Абрамов »
|
Записан
|
ШкольнЕГИ, вам за книжки, а не ко мне в ICQ со своими движковыми проблемами. Бесплатно ни на кого не работаю. Учитесь уважать чужое время и труд!
|
|
|
Togusa
|
 |
« Ответ #1 : Июль 16, 2008, 00:34:39 » |
|
Помоему так нельзя сделать..Хотя, наверное, зависит от браузера. Вот только зачем вам это?
|
|
|
Записан
|
|
|
|
Константин Абрамов
Просветлённый
  
Карма: 28
Сообщений: 876
Нужен сайт? Нет проблем!
|
 |
« Ответ #2 : Июль 16, 2008, 00:42:38 » |
|
Это лишь для удобства пользователей. Посетителям абсолютно незачем знать, как там у меня файлы называются. И в идеале нужно на этот service.html поставить запрет на прямой вызов, чтобы он использовался и отображался только тогда, когда я сам выставил для сайта в .htaccess показ страницы технического обслуживания, а не тогда, когда кому-то приспичило ручками набрать адрес этой страницы, а сайт в это время работает.
|
|
|
Записан
|
ШкольнЕГИ, вам за книжки, а не ко мне в ICQ со своими движковыми проблемами. Бесплатно ни на кого не работаю. Учитесь уважать чужое время и труд!
|
|
|
Togusa
|
 |
« Ответ #3 : Июль 16, 2008, 00:45:48 » |
|
Хм..Тогда попробуйте помимо этой строчки дописать в htaccess
DirectoryIndex service.html
|
|
|
Записан
|
|
|
|
Константин Абрамов
Просветлённый
  
Карма: 28
Сообщений: 876
Нужен сайт? Нет проблем!
|
 |
« Ответ #4 : Июль 16, 2008, 00:47:17 » |
|
Так проблема от этого не решается. Файл по прежнему можно будет вызвать через адресную строку браузера. Это, вроде, через PHP делается (запрет прямого доступа). Только вот не знаю как.
|
|
|
Записан
|
ШкольнЕГИ, вам за книжки, а не ко мне в ICQ со своими движковыми проблемами. Бесплатно ни на кого не работаю. Учитесь уважать чужое время и труд!
|
|
|
graff25
Вникающий
 
Карма: 3
Сообщений: 231
Играю в мизер. Поставьте мне минус.
|
 |
« Ответ #5 : Июль 16, 2008, 00:58:16 » |
|
есть совет - сайт доделай побыстрее - полгода мозги насилуешь:)
|
|
|
Записан
|
|
|
|
Константин Абрамов
Просветлённый
  
Карма: 28
Сообщений: 876
Нужен сайт? Нет проблем!
|
 |
« Ответ #6 : Июль 16, 2008, 01:01:17 » |
|
Сдался мне ваш мозг...  По делу есть что сказать?
|
|
« Последнее редактирование: Июль 16, 2008, 01:15:11 от Константин Абрамов »
|
Записан
|
ШкольнЕГИ, вам за книжки, а не ко мне в ICQ со своими движковыми проблемами. Бесплатно ни на кого не работаю. Учитесь уважать чужое время и труд!
|
|
|
graff25
Вникающий
 
Карма: 3
Сообщений: 231
Играю в мизер. Поставьте мне минус.
|
 |
« Ответ #7 : Июль 16, 2008, 01:15:51 » |
|
кончай, воду мутить, сайт когда будет? и будет ли вообще?
|
|
|
Записан
|
|
|
|
Константин Абрамов
Просветлённый
  
Карма: 28
Сообщений: 876
Нужен сайт? Нет проблем!
|
 |
« Ответ #8 : Июль 16, 2008, 01:42:18 » |
|
Кончай воду мутить, сайт когда будет? И будет ли вообще?
“Ты, шавка, так и будешь весь день гавкать или кусаться начнёшь?” – мистер Блондин (к/ф “Бешеные псы”).
|
|
« Последнее редактирование: Июль 16, 2008, 01:48:40 от Константин Абрамов »
|
Записан
|
ШкольнЕГИ, вам за книжки, а не ко мне в ICQ со своими движковыми проблемами. Бесплатно ни на кого не работаю. Учитесь уважать чужое время и труд!
|
|
|
Artem
Новичёк
Карма: 1
Сообщений: 34
|
 |
« Ответ #9 : Июль 16, 2008, 01:43:48 » |
|
Не знаю как и что, но я где-то увидел и использую у себя конструкцию в файле .htaccess вида: <Files *.inc> order allow,deny deny from all </Files> <Files *.dat> order allow,deny deny from all </Files> Все, кто пытается в браузере набрать файлы с этими расширениями, получают страничку 404 от ayolы )) Но при этом, эту страницу придётся отдавать из файла index.php )
|
|
|
Записан
|
|
|
|
Константин Абрамов
Просветлённый
  
Карма: 28
Сообщений: 876
Нужен сайт? Нет проблем!
|
 |
« Ответ #10 : Июль 16, 2008, 01:44:59 » |
|
Но при этом, эту страницу придётся отдавать с индексовой страницы.)
То есть? Понятнее напишите, пожалуйста. У меня были мысли воспользоваться директорией Files, только почему-то показалось более оправданным применение PHP (просто в CMS Joostina такой способ видел, но не совсем понял, как нужно запрет прописать).
|
|
« Последнее редактирование: Июль 16, 2008, 01:47:23 от Константин Абрамов »
|
Записан
|
ШкольнЕГИ, вам за книжки, а не ко мне в ICQ со своими движковыми проблемами. Бесплатно ни на кого не работаю. Учитесь уважать чужое время и труд!
|
|
|
graff25
Вникающий
 
Карма: 3
Сообщений: 231
Играю в мизер. Поставьте мне минус.
|
 |
« Ответ #11 : Июль 16, 2008, 01:48:13 » |
|
“Ты, шавка, так и будешь весь день гавкать или кусаться начнёшь?” – мистер Блондин (к/ф “Бешеные псы”).
Я укусил, жду ответа достойного (кроме минуса:)) или твой сайт как всегда - долгострой в духе христианства?? Ещё чуть-чуть и придёт царствие господне...
|
|
|
Записан
|
|
|
|
Artem
Новичёк
Карма: 1
Сообщений: 34
|
 |
« Ответ #12 : Июль 16, 2008, 01:50:50 » |
|
Константин, то есть, когда Вы ставите режим "технические работы", то все запросы перенаправляются на тот файл. Но так пропишите, когда технический режим, то не редирект, а конструкцию {$f=fopen("service.html","r"); print fread($f,50000);} Вообще этот файл на вывод непосредственно с файла index.php. А если ещё более подробнee, то нужен исходник.
|
|
« Последнее редактирование: Июль 16, 2008, 01:55:13 от Artem »
|
Записан
|
|
|
|
Константин Абрамов
Просветлённый
  
Карма: 28
Сообщений: 876
Нужен сайт? Нет проблем!
|
 |
« Ответ #13 : Июль 16, 2008, 01:55:33 » |
|
{$f=fopen("service.html","r"); print fread($f,50000);}
Поясните, что эта чудесная строка означает? Желательно, подробнее - я PHP знаю очень поверхностно.
|
|
|
Записан
|
ШкольнЕГИ, вам за книжки, а не ко мне в ICQ со своими движковыми проблемами. Бесплатно ни на кого не работаю. Учитесь уважать чужое время и труд!
|
|
|
Artem
Новичёк
Карма: 1
Сообщений: 34
|
 |
« Ответ #14 : Июль 16, 2008, 02:02:29 » |
|
Это открытие локального файла, и непосредственно вывод его содержимиого на экран. Надо найти то место в коде страницы index.php, где производится редирект. Там наверняка условие если технический режим, то браузеру через header передаётся редирект. Не помню сейчас что там за текст должен быть, но это точно через header. Заменяете редиректовый код на код открытия файла и вывод его на экран. {$f=fopen("service.html","r"); print fread($f,50000); exit;} С открытием файла думаю понятно "r" - это только чтение. Далее идет print - печать прочитаного функцией fread. 50000 - это размер файла. Нужно указать размер файла service.html. Но можно взять с запасом. Но не сильно много )) Ещё я там exit; вписал. Что бы на этом работа скрипта прекратилась.
|
|
« Последнее редактирование: Июль 16, 2008, 02:04:51 от Artem »
|
Записан
|
|
|
|
Константин Абрамов
Просветлённый
  
Карма: 28
Сообщений: 876
Нужен сайт? Нет проблем!
|
 |
« Ответ #15 : Июль 16, 2008, 02:04:46 » |
|
Надо найти то место в коде страницы index.php, где производится редирект.
Я не использую CMS. Всё ручками пишется. Joostina устанавливал лишь в ознакомительных целях.
|
|
« Последнее редактирование: Июль 16, 2008, 02:09:58 от Константин Абрамов »
|
Записан
|
ШкольнЕГИ, вам за книжки, а не ко мне в ICQ со своими движковыми проблемами. Бесплатно ни на кого не работаю. Учитесь уважать чужое время и труд!
|
|
|
Artem
Новичёк
Карма: 1
Сообщений: 34
|
 |
« Ответ #16 : Июль 16, 2008, 02:15:43 » |
|
Я не использую CMS. Всё ручками пишется.
То есть hml-ками? )) Тогда надо будет создать файл index.php и забить такую конструкцию: Простейший пример, режим менять вручную будете... <? $service=FALSE; if ($service) {$f=fopen("service.html","r"); print fread($f,50000); exit;}else{$f=fopen("index.html","r"); print fread($f,50000); exit;} ?> Меняете ручками на TRUE и режим включён. И переименовать файл service.html на service.dat. В коде то же расширение поменять. И поставить запрет открывания файлов с таким расширением. Если кто-то сейчас скажет что замудрил - возможно)) Но чёт другое более простое не лезет в голову.))
|
|
|
Записан
|
|
|
|
Константин Абрамов
Просветлённый
  
Карма: 28
Сообщений: 876
Нужен сайт? Нет проблем!
|
 |
« Ответ #17 : Июль 16, 2008, 02:24:42 » |
|
Мудрёно, ничего не скажешь...  А как можно через PHP файл для прямого доступа закрыть? Не подскажете?
|
|
|
Записан
|
ШкольнЕГИ, вам за книжки, а не ко мне в ICQ со своими движковыми проблемами. Бесплатно ни на кого не работаю. Учитесь уважать чужое время и труд!
|
|
|
Artem
Новичёк
Карма: 1
Сообщений: 34
|
 |
« Ответ #18 : Июль 16, 2008, 02:25:14 » |
|
Во! Ещё проще. Редирект в .htacces поменяйте на index.php Когда сайт будет готов, просто снимите редирект, и удалите index.php. Мне кажется что там и можно оставить одно открытие файла и вывод на экран. И больше там ничего не нужно. К другим файлам обращаться не позволит .htaccess.
|
|
« Последнее редактирование: Июль 16, 2008, 02:31:39 от Artem »
|
Записан
|
|
|
|
Artem
Новичёк
Карма: 1
Сообщений: 34
|
 |
« Ответ #19 : Июль 16, 2008, 02:30:15 » |
|
Через PHP запрета прямого доступа не сделаешь, только через .htaccess. Но если там прописать запрет на этот файл, то браузер таки попытается его открыть, но получит 404 ) Так что останавливаюсь на обычном выводе файла service.html, а в .htaccess пропишите путь открытия на php файл. Потом можно удалить, или переименовать.
|
|
|
Записан
|
|
|
|
Константин Абрамов
Просветлённый
  
Карма: 28
Сообщений: 876
Нужен сайт? Нет проблем!
|
 |
« Ответ #20 : Июль 16, 2008, 02:32:37 » |
|
Вот сейчас смотрю на реализацию этого чуда в Joostina, так в ней прямой доступ запрещается вот так: defined( '_VALID_MOS' ) or die( 'Прямой вызов файла запрещен.' );
|
|
|
Записан
|
ШкольнЕГИ, вам за книжки, а не ко мне в ICQ со своими движковыми проблемами. Бесплатно ни на кого не работаю. Учитесь уважать чужое время и труд!
|
|
|
Artem
Новичёк
Карма: 1
Сообщений: 34
|
 |
« Ответ #21 : Июль 16, 2008, 02:36:34 » |
|
Константин, я не спец, но думаю там идёт запрещение запуска файлов php. )) То есть каждый файл php можно запретить на запуск.
|
|
|
Записан
|
|
|
|
Константин Абрамов
Просветлённый
  
Карма: 28
Сообщений: 876
Нужен сайт? Нет проблем!
|
 |
« Ответ #22 : Июль 16, 2008, 03:09:22 » |
|
Всё равно спасибо вам за идеи, обязательно возьму их на вооружение. Только хотелось бы у остальных узнать - может есть более удобные способы для достижения задуманного? Тема всё ещё открыта, так что жду всех, у кого есть какие-то предложения.
|
|
|
Записан
|
ШкольнЕГИ, вам за книжки, а не ко мне в ICQ со своими движковыми проблемами. Бесплатно ни на кого не работаю. Учитесь уважать чужое время и труд!
|
|
|
atimur
Просветлённый
  
Карма: 59
Сообщений: 990
Живу в SanCity
|
 |
« Ответ #23 : Июль 16, 2008, 10:44:25 » |
|
А не проще ли все запросы с домена перекидывать на поддомен/ А на поддомене (там файлов небудет кроме index.htm) поставить 404 ошибку указующую на index.htm
|
|
|
Записан
|
|
|
|
Astraller™
|
 |
« Ответ #24 : Июль 16, 2008, 16:09:00 » |
|
1. Можно сделать скрытое перекидываение на services.html. Но тогда по окончании работ придётся эту строку из .htaccess убрать. Вот код такого .htaccess: RewriteEngine On RewriteBase /
RewriteCond %{REQUEST_FILENAME} index.html RewriteRule .* services.html [QSA]
2. Можно index.html, сделать index.php и в начале его написать <?php include "services.html"; ?> Опять же, в конце сервисных работ убрать.
|
|
|
Записан
|
Гамлета здесь больше нет. Осталась только тень. 
|
|
|
|