![]() |
#1 |
Специалист
Регистрация: 09.05.2007
Сообщений: 231
Вес репутации: 232
![]() ![]() ![]() ![]() ![]() ![]() |
![]() Будучи программистом, заинтересовался внутренностью links.db. Это, как оказалось, хеш-массив со ссылками, ключами которого являются адреса страниц моего сайта. Все логично.
Но вот какая штука меня поразила - в массиве зачем-то указаны адреса как со слешем на конце, так и без! То есть все ключи продублированы 2 раза, соответственно, и списки ссылок - тоже. Зачем??? Если хотелось застраховаться от разного задания адресов страниц - убрали бы программно из адреса финальный слеш, и все. Представляю, что будет с файлом links.db, когда ссылки будут стоять на 5000 страниц. Файлик будет мегабайт под 10, хотя мог бы иметь размер ровно в 2 раза меньше... И еще вопрос - когда этот файл уже создан, с директории, в которой он лежит, уже права на запись 777 можно снять, так? |
![]() |
![]() |
![]() |
#3 | |
Специалист
Регистрация: 09.05.2007
Сообщений: 231
Вес репутации: 232
![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#4 |
Специалист
Регистрация: 09.05.2007
Сообщений: 231
Вес репутации: 232
![]() ![]() ![]() ![]() ![]() ![]() |
![]() Вот, строчка 178:
Код:
if (array_key_exists($this->_request_uri, $this->_links) && is_array($this->_links[$this->_request_uri])) { $this->_links_page = $this->_links[$this->_request_uri]; } Код:
// Какая страница? if (isset($options['request_uri']) && strlen($options['request_uri'])) { $this->_request_uri = $options['request_uri']; } else { $this->_request_uri = $_SERVER['REQUEST_URI']; } Код:
// убираем финальный слеш, если он есть $this->_request_uri = preg_replace('!/$!', '', $this->_request_uri); |
![]() |
![]() |
![]() |
#5 |
Специалист
Регистрация: 26.01.2007
Сообщений: 337
Вес репутации: 241
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Сделано и сделано, че теперь вздыхать? Невооруженным взглядом видно, что писали все троешники, и это был их первый крупный проект.
1100 ссылок весят 270Кб, можно пережить. А менять код на 14000 сайтов - тот еще геморрой. |
![]() |
![]() |
![]() |
#6 |
Администратор
Регистрация: 05.02.2007
Сообщений: 18,405
Вес репутации: 730
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Как только какомунибудь "программисту" придет в голову убрать финальные слеши система лишится половины оптимизатров. Мне напрмер он крайне нужен и важен. Я понимаю, что программер не должен понимать в оптимизации ничего.. он програмить должен.
Волнует размер сапе.дб? Удалите сайт изи системы!
__________________
Читаем ФАК |
![]() |
![]() |
![]() |
#7 | |
Специалист
Регистрация: 09.05.2007
Сообщений: 231
Вес репутации: 232
![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#8 |
Администратор
Регистрация: 05.02.2007
Сообщений: 18,405
Вес репутации: 730
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Код:
Я описал способ убрать их из файла links.db. Ссылка со слешом и ссылка без него - не идентичные ссылки. Давайте возьмем это за аксиому. Теперь в линкс дб половина с ним, половина - без. Выход - либо они там лежат как их положил О, либо в обоих вариантах... Если так как положил - то ладно. А если все к одному - то нафих.
__________________
Читаем ФАК |
![]() |
![]() |
![]() |
#9 | |
Специалист
Регистрация: 09.05.2007
Сообщений: 231
Вес репутации: 232
![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#10 | ||
Администратор
Регистрация: 05.02.2007
Сообщений: 18,405
Вес репутации: 730
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
А зачем мне спрашивается ждать, пока яшка получив 301 сообразит, что надо оказывается на со слешом ходить?
__________________
Читаем ФАК |
||
![]() |
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
links.db | rmPIC30 | Вопросы от новичков | 29 | 08.07.2008 10:35 |
Adult links vs all others links | Renult | Вопросы от новичков | 4 | 23.05.2008 00:57 |
links.db | hostm | Ошибки при работе с системой | 4 | 18.04.2008 11:16 |
Вопрос по links.db | ortega3000 | Вопросы по работе системы | 11 | 16.03.2008 09:45 |
links.db | N@S | Вопросы по работе системы | 7 | 18.05.2007 08:22 |
Часовой пояс GMT +3, время: 14:56.