Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.149.26.176] |
|
Сообщ.
#1
,
|
|
|
Допустим, находимся на странице http://sources.ru/sub1/sub2/index.php?showforum=116
Нужно получить относительную ссылку на http://sources.ru/sub1/sub2/. Причем, мы заранее не знаем, что находимся в sub1/sub2/. Если записать href="" - получается ссылка http://sources.ru/sub1/sub2/index.php?showforum=116 А если записать href="/" - получается ссылка на http://sources.ru/ |
Сообщ.
#2
,
|
|
|
а что, написать href="index.php" не судьба?
Добавлено опять же href="?" и уже молчу про очевидное href="./" |
Сообщ.
#3
,
|
|
|
Цитата fatalist @ Так не очень красиво. Я как раз начал осваивать mod_rewrite. Теперь у меня самые короткие и красивые ссылки а что, написать href="index.php" не судьба? Цитата fatalist @ Знаю только про "../".href="./" Что значит "./"? Текущая пака? Добавлено Еще такая проблема. Сайт доступен по 2 доменным адресам. Один мой нормальный, другой вспомогательный от хостинга. Гугл случайно узнал резервный адрес и заходит по нему. Как можно его отвадить? Как думаете, директива Host в robots.txt поможет? |
Сообщ.
#4
,
|
|
|
Цитата S.Eugene @ Предыдущая папка.Знаю только про "../" Цитата S.Eugene @ Текущая папка.Что значит "./" Цитата S.Eugene @ mod_rewrite, .htaccess:Как можно его отвадить? RewriteCond %{HTTP_HOST} . RewriteCond %{HTTP_HOST} !^www\.example-domain-please-change\.com [NC] RewriteRule (.*) http://www.example-domain-please-change.com/$1 [R=301,L] |
Сообщ.
#5
,
|
|
|
Цитата Sunny @ Это для чего? RewriteCond %{HTTP_HOST} . |
Сообщ.
#6
,
|
|
|
Адреса лучше делать с расширением или без? Например http://example.com/mypage.htm или http://example.com/mypage
Расширение какие-то значение имеет для поисковиков? |
Сообщ.
#7
,
|
|
|
Все смешалось, кони, люди, залпы тысячи орудий...
Ты сразу скажи, тебя в этой теме что интересует: SEO или mod_rewrite? А то уже и не знаю куда тему переносить |
Сообщ.
#8
,
|
|
|
Все интересует, но не хочется плодить темы для каждого дурацкого вопроса. Ну переносите в сео, с mod_rewrite пока вопросов нет. Потом если будет вопрос перенесете обратно
Добавлено Уже новый вопрос созрел. Вредно ли когда одна страница доступна по нескольким адресам? Например, http://example.com/name-2 и http://example.com/name?end. |
Сообщ.
#9
,
|
|
|
Цитата S.Eugene @ Вредно ли когда одна страница доступна по нескольким адресам? Да. |
Сообщ.
#10
,
|
|
|
Считается ли дублем редирект с несуществующей страницы на главную? Например, если бы с этой страницы http://forum.sources.ru/index.php?showtopic=359278983773 был редирект на главную.
Вообще, как лучше сообщить о несуществующей странице на форуме? Нужно посылать какие-то доп. заголовки? Добавлено А вот это не считается дублированием? http://forum.sources.ru/index.php?eugene_param=777&act=999 |
Сообщ.
#11
,
|
|
|
Цитата S.Eugene @ О несуществующей странице сервак сам обычно сообщает, посылая 404... при желани можно заменить стандартную страницу на свою красивую... Вообще, как лучше сообщить о несуществующей странице на форуме? Нужно посылать какие-то доп. заголовки? |
Сообщ.
#12
,
|
|
|
Цитата S.Eugene @ Считается ли дублем редирект с несуществующей страницы на главную? Так лучше не делай. Цитата S.Eugene @ Вообще, как лучше сообщить о несуществующей странице на форуме? Только отдавая ответ 404. Сервер его дает на несуществующий файл, а если ссылки обрабатывает твой движок, то ты сам уже должен предусмотреть формирование ответа 404. |
Сообщ.
#13
,
|
|
|
Цитата gruy @ Можно выдавать страницу с сообщением об ошибке и одновременно заголовок с 404? а если ссылки обрабатывает твой движок, то ты сам уже должен предусмотреть формирование ответа 404. |
Сообщ.
#14
,
|
|
|
Да.
|
Сообщ.
#15
,
|
|
|
А что если посылать 404 Not Found и одновременно Refresh? А то вдруг пользователь не захочет сам перейти по ссылке и уйдет))
|
Сообщ.
#16
,
|
|
|
Refresh чего?
Если сделать нормальную, информативную страницу 404, то все будет хорошо. |
Сообщ.
#17
,
|
|
|
вот такие заголовки вместе можно посылать?
header( 'HTTP/1.1 404 Not Found' ); header( 'Refresh: 1; url='.$url ); |
Сообщ.
#18
,
|
|
|
И как лучше делать уведомления, например, об удачно добавленном сообщении и т.п.? Какие заголовки посылать?
|
Сообщ.
#19
,
|
|
|
Нет заголовков с именем Refresh, ты можешь его засунуть только в <meta> тег.
Для редиректов предусмотрен header("Location: ./index.php"); Более подробнее смотри в мануале. Добавлено Цитата S.Eugene @ И как лучше делать уведомления, например, об удачно добавленном сообщении и т.п.? Простым текстом. Цитата S.Eugene @ Какие заголовки посылать? По умолчанию твой вебсервер отдает HTTP 200 OK, это означает что все хорошо и сервер отдаст страницу пользователю. Для ошибок, если ты хочешь свою не стандартную страницу (например 404-ую), необходимо посылать дополнительный заголовок: header('HTTP/1.1 404 Not Found'); Заголовки нужны только браузеру, что бы он понял как работать с присланными от вебсервера данными. Для пользователя же ты выводишь сообщения сам. |
Сообщ.
#20
,
|
|
|
Цитата У меня и Refresh посылается и работает. Думал, все, что в мета тегах, можно послать с помощью header().Нет заголовков с именем Refresh, ты можешь его засунуть только в <meta> тег. Для редиректов предусмотрен header("Location: ./index.php"); Хорошо, переформулирую. Можно ли послать header('HTTP/1.1 404 Not Found') и на выдаваемую страницу в <meta> добавить Refresh? Или стандарты запрещают Location или Refresh со страницы с заголовком 404 Not Found? Как бот отреагирует на такую страницу? |
Сообщ.
#21
,
|
|
|
Понимаешь, refresh может сбить с толку самого пользователя, если он увидит сначала сообщение, что страница не найдена, а потом вдруг его перекидывает куда-то. Сделай нормальную страницу 404, напиши что такой адрес неправильный, предложи посетителю перейти на главную, в поиск или еще что-нибудь. Явное лучше неявного.
|
Сообщ.
#22
,
|
|
|
Хорошо, не буду перенаправлять. Но все-таки можно перенаправлять или это нарушает, так сказать, принятые нормы http стандарта?
|
Сообщ.
#23
,
|
|
|
Да, это будет нарушением общепринятых способов информирования.
|
Сообщ.
#24
,
|
|
|
Какой вид ссылок посоветуете:
http://example.com/cat/num_article/num_page где для первой страницы num_page отсутствует, т.е. http://example.com/cat/num_article либо http://example.com/cat/num_article?p=num_page где также для первой страницы параметр p отсутствует Может при наличии GET параметра поисковикам как-то легче понимать, что это одна статья разбитая на страницы. Ну и чисто по эстетическим соображениям, как бы вы сделали? |
Сообщ.
#25
,
|
|
|
Цитата Ну и чисто по эстетическим соображениям, как бы вы сделали? ?article=num_article&page=num_page поисковику пофиг, он железный |
Сообщ.
#26
,
|
|
|
У меня раньше были ссылки вида:
_http://example.com/index.php?action=show_article&a_id=123&p=5 а сейчас: _http://example.com/a/123?p=5 по-моему, так лучше и красивее. |
Сообщ.
#27
,
|
|
|
Цитата по-моему, так лучше и красивее. для робота абсолютно все равно, для "домашнего" пользователя тоже, для человека читающего параметры адресной строки (вы и я, например) понятнее первый вариант, но с поправкой: http://example.com/index.php?action=show_a...icle=123&page=5 понятно что там стратья с ИД 123 и страница пятая, можно понять из урла даже будучи незнакомым с движком сайта, и при любом порядке параметров. Второй вариант не читаем, если "чтение" подразумевается под "лучше и красивее" в контексте юзерфрендли. PS в вашем варианте идентификатор сессии как в урле передается? все интересно как ЧПУшники это решают Или сессий нет? |
Сообщ.
#28
,
|
|
|
Цитата Вот сами привели пример вредности длинных ссылок. Длинная ссылка сократилась, образовались точечки. Не всякий "домашний" пользователь сообразит, как скопировать такую ссылку. Да я и сам бывало попадался при копипасте текста с такими ссылками.Цитата Через куки. в вашем варианте идентификатор сессии как в урле передается? все интересно как ЧПУшники это решают Или сессий нет? Для просмотра страниц в гостем сессия не нужна. При попытке сообщение отправить, выдается сообщение: сессия не определена, включите куки. Передавать ид сессии авторизованному пользователю через урл опасно. Пользователь может скопировать ссылку и кому-то передать или через реферер случайно передать на левый сайт. Мне один раз знакомая передала ссылку на свой профиль в одноклассниках с ид сессии - почитал ее сообщения Добавлено Цитата Не знаю, как на счет ссылок на страницы, но изображения по ссылкам с get-параметрами контакт для превью не загружал и в гугле изображения имели тип не JPEG и PNG, а PHP. для робота абсолютно все равно |
Сообщ.
#29
,
|
|
|
Цитата Вот сами привели пример вредности длинных ссылок. так я ссылки часто "читаю" в адресной строке (ну и иногда подставляю туда нужные значения, например страницу, если их там сотни), а то что тут порезалось - так это движок сократил. "Домашний" пользователь в подавляющем большинстве случаев тычет в ссылку не читая, а уж что ее можно скопировать... (говорю так потому что имею дело, не "дома", а на работе с тетеньками для которых браузер в компе от ядерного реактора ничем не отличается, жмут что первое попадется под руку =)) Цитата Через куки. Для просмотра страниц в гостем сессия не нужна. При попытке сообщение отправить, выдается сообщение: сессия не определена, включите куки. Передавать ид сессии авторизованному пользователю через урл опасно. Пользователь может скопировать ссылку и кому-то передать или через реферер случайно передать на левый сайт. Мне один раз знакомая передала ссылку на свой профиль в одноклассниках с ид сессии - почитал ее сообщения куки могут быть отключены, а при первом посещении СИД передается (обычно) через GET/POST. на одноклассниках вроде бы есть привязка к браузеру (юзерагент) и IP, может еще к чему, неужели прям получилось использовать ее сессию? Цитата Не знаю, как на счет ссылок на страницы, но изображения по ссылкам с get-параметрами контакт для превью не загружал и в гугле изображения имели тип не JPEG и PNG, а PHP. заголовки нужно глянуть, какие отправляются |