PDA

Просмотр полной версии : Проблема с RealURL и быстрым наполнением tx_realurl_errorlog


dmartynenko
04.01.2008, 19:28
Я недавно настроил у себя на сайте обработчик страницы 404.
По статистике (cnstats) получается что по просмотрам страница /404/
чуть ли на первом месте на сайте. Потом я заметил что в таблице tx_realurl_errorlog каждый день добавляется куча записей с URL вида
"user/fileadmin/realt/favicon.ico" или "sale/cottages/object/30068/photo/fileadmin/realt/favicon.ico"

И думается мне что это сильно сказывается на производительности в худшую сторону - так как вместо того что бы забрать маленький статичный файл favicon.ico или ему подобный, идет запрос станицы /404/ с генерацией ее через typo3.

Ясен пень что файлов "user/fileadmin/realt/favicon.ico" и "sale/cottages/object/30068/photo/fileadmin/realt/favicon.ico"
у меня на сайте нет. А есть только "fileadmin/realt/favicon.ico".
Т.е. броузеры (может старые?) запрашивают картинки и прочие файлы без учета <base href="http://realt.by/" />

В TS config у меня вот что:
config.simulateStaticDocuments = 0
config.baseURL = http://realt.by/
config.tx_realurl_enable = 1

Соответсвенно получаю в HTML секции <header> все ссылки относительными:
...
<base href="http://realt.by/" />
<link rel="SHORTCUT ICON" href="fileadmin/realt/favicon.ico" />
<link rel="stylesheet" type="text/css" href="typo3temp/stylesheet_d9cbed278f.css" />
<link rel="stylesheet" type="text/css" href="fileadmin/realt/styles.css" />

Попробовал установить config.absRefPrefix = http://realt.by/ и все ссылки стали полными - т.е. то что мне и нужно:
...
<base href="http://realt.by/" />
<link rel="SHORTCUT ICON" href="http://realt.by/fileadmin/realt/favicon.ico" />
<link rel="stylesheet" type="text/css" href="http://realt.by/typo3temp/stylesheet_d9cbed278f.css" />
<link rel="stylesheet" type="text/css" href="http://realt.by/fileadmin/realt/styles.css" />

Но!!! Все ссылки генеримые RealURL пропали:
стало http://realt.by/index.php?id=article&tx_ttnews[tt_news]=3036&cHash=bbb48b2ecc
вместо
http://realt.by/news/article/3036/

Т.е. так в мануале по RealURL и написано: не используйте config.absRefPrefix т.к. могут быть проблемы, но это и не нужно - все и так работает с использованием config.baseURL.

Но ведь не работает!

Подскажите как мне иметь полные URL с префиксами и одновременно использовать RealURL ?

-=UncleByte=-
06.01.2008, 04:57
Возможно не самый лучший вариант, но за неимением лучшего решения можно порекомендовать решение "в лоб", т.е. добавлять информацию в хедер страницы с помощью page.headerData с полным путем.
Например:

page {
headerData (
<link rel="SHORTCUT ICON" href="http://realt.by/fileadmin/realt/favicon.ico" />
<link rel="stylesheet" type="text/css" href="http://realt.by/fileadmin/realt/styles.css" />
)
}
Ну и не использовать config.absRefPrefix чтобы не было проблем с RealURL

felix
07.02.2008, 04:59
У вас проблема только с favicon.ico ?
поставте это предпоследнем правилом в .htaccess
RewriteRule .*favicon.ico http://realt.by/fileadmin/realt/favicon.ico [L]

dmartynenko
07.02.2008, 12:28
У вас проблема только с favicon.ico ?
поставте это предпоследнем правилом в .htaccess
RewriteRule .*favicon.ico http://realt.by/fileadmin/realt/favicon.ico [L]

Это не прокатит:
Во первых стоит не apache и .htaccess нет.
Во вторых сайтов на одном движке несколько и для каждого свой favicon.ico

Мне помог совет прописать в headerData явно путь к favicon для каждого сайта.