Графику и т.п. храню в папке 'media/' в корне сайта.
Допустим сейчас адрес имеет вид:
/index.php?id=111
С ЧПУ будет выглядеть
/1/2/3/
на сгенерированной странице есть тэги содержащие относительные адреса, типа
<img src='media/2/photo.jpg'>
Браузер попытается открыть /1/2/3/media/2/photo.jpg , и конечно обломается, т.к. папка 'media' находится на одном уровне с виртуальной папкой '1', т.е. в корне.
Ставить абсолютные адреса тоже не хочется, т.к. сайт может со временем поменять доменное имя.
Как решить эту задачу?
Спустя 2 минуты, 29 секунд (8.10.2010 - 15:38) FatCat написал(а):
Цитата (LRCenter @ 8.10.2010 - 16:36) |
Ставить абсолютные адреса тоже не хочется, т.к. сайт может со временем поменять доменное имя. |
Храните доменное имя в глобальной переменной, и генерируете все ссылки из глобальной переменной.
При переносе на другой домен меняете в одном месте код, и все ссылки начинают работать в новом домене.
Спустя 45 секунд (8.10.2010 - 15:39) FatCat написал(а):
Кстати, яндекс последнее время хуже индексирует страницы с ЧПУ, по нескольким сайтам это вижу...
Спустя 7 минут, 18 секунд (8.10.2010 - 15:47) LRCenter написал(а):
В смысле генерировать на лету? Нагрузка же на сервер лишняя. Может лучше с помощью того же mod_rewrite-а решить?
Спустя 34 минуты, 30 секунд (8.10.2010 - 16:21) vasa_c написал(а):
абсолютные адреса на сайте и абсолютный URI разные вещи.
можно src='/media/2/photo.jpg'
можно src='/media/2/photo.jpg'
Спустя 3 минуты, 29 секунд (8.10.2010 - 16:25) inpost написал(а):
LRCenter
Случайно не HTML-тег <base> нужен?
Теперь катайся куда хочешь, миленький =)
Случайно не HTML-тег <base> нужен?
<base href="http://<?php echo $_SERVER['SERVER_NAME']; ?>">
Теперь катайся куда хочешь, миленький =)
Спустя 57 секунд (8.10.2010 - 16:25) vasa_c написал(а):
нет, HTML-тег <base> здесь совершенно не нужен.
Спустя 1 минута (8.10.2010 - 16:26) inpost написал(а):
vasa_c
Чем не подходит мой метод? Вполне отлично всё работает, и решает эту конкретную задачу! Он не хочет, так как может перееехать, поэтому и прописываем $_SERVER['SERVER_NAME'], и не мучаемся в дальнейшем!
Чем не подходит мой метод? Вполне отлично всё работает, и решает эту конкретную задачу! Он не хочет, так как может перееехать, поэтому и прописываем $_SERVER['SERVER_NAME'], и не мучаемся в дальнейшем!
Спустя 2 минуты, 14 секунд (8.10.2010 - 16:29) LRCenter написал(а):
vasa_c, вы хотите сказать что src='/media/2/photo.jpg' будет работать даже если псевдоадрес страницы с которой запрашивают фотку будет '/1/2/3'?
Спустя 1 минута, 41 секунда (8.10.2010 - 16:30) inpost написал(а):
LRCenter
Чем тебе мой способ не подходит?
Чем тебе мой способ не подходит?
Спустя 42 секунды (8.10.2010 - 16:31) LRCenter написал(а):
inpost, а этот тэг корректно поддерживают все браузеры и поисковые пауки?
Спустя 3 минуты, 34 секунды (8.10.2010 - 16:35) vasa_c написал(а):
Цитата |
vasa_c, вы хотите сказать что src='/media/2/photo.jpg' будет работать даже если псевдоадрес страницы с которой запрашивают фотку будет '/1/2/3'? |
Вы можете проверить это сами.
Цитата |
Чем не подходит мой метод? Вполне отлично всё работает, и решает эту конкретную задачу! |
Тем, что он совершенно избыточен.
Спустя 2 минуты (8.10.2010 - 16:37) inpost написал(а):
LRCenter
Его поддержка отмечена на сайте: http://htmlbook.ru/html/base
Советую по любым HTML и CSS сюда заходить и проверять! Как видишь - ВСЕ браузеры корректно работают с ним.
Его поддержка отмечена на сайте: http://htmlbook.ru/html/base
Советую по любым HTML и CSS сюда заходить и проверять! Как видишь - ВСЕ браузеры корректно работают с ним.
Спустя 6 минут, 46 секунд (8.10.2010 - 16:43) LRCenter написал(а):
Спасибо, господа, оба метода выглядят перспективно, попробую оба и сравню.
Вот вам по конфетке ))
Вот вам по конфетке ))
_____________
Меньше кода - меньше багов ©