+  HandyCache форум
|-+  Главная категория» Новые предложения» Прямые ссылки на индексные файлы.
Имя пользователя:
Пароль:
Страниц: [1]   Вниз
  Отправить эту тему    Печать  
Автор Тема: Прямые ссылки на индексные файлы.  (Прочитано 13448 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Сергей
Beta tester
*****

Репутация: +9/-2
Offline Offline

Сообщений: 621



« : 12 Январь 2007, 15:49:48 »

Давно предлагал, но не помню, чтобы вносил в TODO.

В списке Только из кэша добавить опцию Индексный файл
с текстовым полем (index|default)\.((s)?htm(l)?|php|asp)$
Если сработал список или мы в автономном режиме, то проверить URL на соответствие этому правилу.
Если правило сработало то заменить совпадение на пустую строку.
Это решит проблему, когда в автономном режиме не работают ссылки на главные страницы сайтов.
« Последнее редактирование: 12 Январь 2007, 15:54:03 от Сергей » Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #1 : 12 Январь 2007, 17:33:07 »

Сергей

Цитировать
В списке Только из кэша добавить опцию Индексный файл


Почему именно в списке "Только из кэша"?

Цитировать
Если правило сработало то заменить совпадение на пустую строку.


А если нет такого файла в кэше, но зато есть файл под полным URL?
А если в кэше лежит несколько файлов: и #_ , и index.php и т.д.  разной свежести, причем index.php свежий, а #_ старье? Какой грузить?


P.S. Лично я для себя эту проблему уже давно решил правилом в списке "Преобразование URL":

#5#~#True#~#(?<=/)(index|default)\.(s?html?|php|asp)$#~##~#False#~#True

Ничего страшного, что все они пишутся в кэш под одним именем #_ . Вероятность, что на сайте есть обе эти страницы и они разные, низка! Да и отдельная опция "Индексный файл" от этого не спасет!

Пока проблем с этим правилом не встречал! Улыбка
Сообщить модератору   Записан
Сергей
Beta tester
*****

Репутация: +9/-2
Offline Offline

Сообщений: 621



« Ответ #2 : 12 Январь 2007, 17:59:28 »

Эту фичу мы уже давно обсудили с mai62 и он одобрил. Я сейчас немного конкретизировал.
Цитировать
Почему именно в списке "Только из кэша"?
Потому, что это нужно в автономном режиме или при срабатывании этого списка.

Цитировать
А если нет такого файла в кэше, но зато есть файл под полным URL?

Ничего не понял. Что значит полный URL?

Цитировать
А если в кэше лежит несколько файлов: и #_ , и index.php и т.д.  разной свежести, причем index.php свежий, а #_ старье? Какой грузить?
#_ конечно

Цитировать
Ничего страшного, что все они пишутся в кэш под одним именем #_ . Вероятность, что на сайте есть обе эти страницы и они разные, низка!
А мне это критично. Хочу чтобы сохранялось все и под правильным именем.

Цитировать
Да и отдельная опция "Индексный файл" от этого не спасет!
От чего? От того, что разные файлы пишутся в один. А мне это и не нужно.
Опция совсем для других целей нужна.
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +215/-4
Offline Offline

Сообщений: 6186


« Ответ #3 : 12 Январь 2007, 18:07:57 »

Сергей
Цитировать
Эту фичу мы уже давно обсудили с mai62 и он одобрил
Дай ссылку. Я помню, что речь об этом была, но подробностей не помню.
Сообщить модератору   Записан
Сергей
Beta tester
*****

Репутация: +9/-2
Offline Offline

Сообщений: 621



« Ответ #4 : 12 Январь 2007, 18:14:33 »

Дай ссылку. Я помню, что речь об этом была, но подробностей не помню.
Я все подробности изложил в первом посте. Руборд похоже в дауне, точные ссылки пока найти не могу.
Сообщить модератору   Записан
NothingAnother
Beta tester
*****

Репутация: +7/-2
Offline Offline

Сообщений: 434

Spoiler


« Ответ #5 : 12 Январь 2007, 18:17:25 »

Руборд похоже в дауне, точные ссылки пока найти не могу
Руборд в тонусе! Показывает язык
Сообщить модератору   Записан

Мы тоже не всего читали Шнитке!..
© В. Вишневский
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #6 : 12 Январь 2007, 21:15:03 »

Сергей

Цитировать
Цитировать
А если нет такого файла в кэше, но зато есть файл под полным URL?

Ничего не понял. Что значит полный URL?
Например, запрос пришел на default.htm, в кэше лежит index.php, а файла #_ нет в кэше!
Как будет работать предлагаемая тобой опция?

Цитировать
Цитировать
А если в кэше лежит несколько файлов: и #_ , и index.php и т.д.  разной свежести, причем index.php свежий, а #_ старье? Какой грузить?
#_ конечно
Хм! Пришел запрос на index.php, он есть в кэше, а грузить будем старый #_ ?! Оригинально... Подмигивающий

Тогда уж, лучше пусть твоя опция срабатывает только в том случае, если в кэше нет изначально запрашиваемого URL !
Но и это не спасет в том случае, если файла #_ нет в кэше, но зато есть некоторые из: index.php, default.htm и т.д.
Сообщить модератору   Записан
Сергей
Beta tester
*****

Репутация: +9/-2
Offline Offline

Сообщений: 621



« Ответ #7 : 13 Январь 2007, 10:55:30 »

Сорри. Забыл написать, что опция должна срабатывать только когда файл не найден в кэше, разумеется!
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #8 : 13 Январь 2007, 12:08:07 »

Сергей

А как же быть в случае: например, запрос пришел на default.htm, в кэше лежит index.php, а файла #_ нет в кэше!?

Как будет работать предлагаемая тобой опция? Никак! Файл загружен не будет!

Может, при отсутствии запрашиваемого файла, попадающего под правило: (index|default)\.((s)?htm(l)?|php|asp)$ , искать в папке сайта в кэше файл #_, а если его нет, то другой файл, попадающий под это правило?
Сообщить модератору   Записан
Сергей
Beta tester
*****

Репутация: +9/-2
Offline Offline

Сообщений: 621



« Ответ #9 : 13 Январь 2007, 12:19:38 »

А как же быть в случае: например, запрос пришел на default.htm, в кэше лежит index.php, а файла #_ нет в кэше!?
А никак. Как и сейчас. Пусть не находит.

Цитировать
Может, при отсутствии запрашиваемого файла, попадающего под правило: (index|default)\.((s)?htm(l)?|php|asp)$ , искать в папке сайта в кэше файл #_, а если его нет, то другой файл, попадающий под это правило?
Это лишнее. Только замедлит работу.

Ради чего все это затевалось?
Если в первый раз на сайт мы заходим по ссылке http://site.ru
то хотелось бы, чтобы  в автономном режиме потом работали ссылки на главную страницу.
Файл #_ будет существовать по определению.
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #10 : 13 Январь 2007, 12:58:55 »

Сергей

Цитировать
Это лишнее. Только замедлит работу.

Не сильно!
  • Исходный URL сначала ищется в кэше.
  • Если его нет, то проверяется на соответствие правилу: (index|default)\.((s)?htm(l)?|php|asp)$ и ищется файл #_ в корне сайта в кэше.
  • Если и его нет, то ищем подходящий файл всего в 1 корневой папке сайта в кэше, которая, как правило, не большая!

Цитировать
Если в первый раз на сайт мы заходим по ссылке http://site.ru

Если в первый раз ты зашел по ссылке на http://site.ru/index.php с другого сайта, то в автономке ты уже не зайдешь на http://site.ru ! Я предлагаю это заранее учесть... Подмигивающий
« Последнее редактирование: 13 Январь 2007, 13:07:13 от DenZzz » Сообщить модератору   Записан
Сергей
Beta tester
*****

Репутация: +9/-2
Offline Offline

Сообщений: 621



« Ответ #11 : 13 Январь 2007, 13:11:51 »

DenZzz
Ладно, я согласен Улыбка
Можешь сформулировать окончательный алгоритм?
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #12 : 13 Январь 2007, 13:31:56 »

Сергей

Собственно, уже:  Улыбка

Алгоритм работы опции "Индексные файлы":

  • 1. Исходный URL сначала ищется в кэше. Нашли - отдали браузеру.
  • 2. Если файл не найден в кэше, но включен автономный режим или сработал список "Только из кэша", то URL проверяется на соответствие правилу: (index|default)\.((s)?htm(l)?|php|asp)$ . Иначе, переход к п.5.
  • 3. Если это правило сработало, то ищется файл #_ в корне сайта в кэше. Нашли - отдали браузеру. Если правило не сработало - переход к п.5.
  • 4. Если файл #_ не нашли в кэше, то ищем первый подходящий под то же правило из п.2 файл всего в 1 корневой папке сайта в кэше, которая, как правило, небольшая! Нашли - отдали браузеру.
  • 5. Если опять не нашли файл - ответили браузеру 404.
« Последнее редактирование: 13 Январь 2007, 15:19:01 от DenZzz » Сообщить модератору   Записан
Сергей
Beta tester
*****

Репутация: +9/-2
Offline Offline

Сообщений: 621



« Ответ #13 : 13 Январь 2007, 14:44:39 »

ты забыл пункт
1a. Если URL не подпадает под действие списка Только из кэша или выключен автономный режим, то переходим к пункту 5
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #14 : 13 Январь 2007, 15:02:42 »

Сергей

Это подразумевалось, т.к. проверка правила в п.2 возможна только в этом случае!
Ладно, сейчас поправлю...
Сообщить модератору   Записан
Страниц: [1]   Вверх
  Отправить эту тему    Печать  

 
Перейти в: