![]() |
|
|
![]()
|
|
| comhunt |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 20.3.2009 Репутация: нет Всего: нет |
Необходимо сделать следующее средствами .htaccess и RewriteEngine on
При запросе: http://www.site.ru/index.html Сделать так чтобы открывалось http://www.site.ru/ RewriteEngine on RewriteCond %{REQUEST_URI} ^index\.html$ [NC] RewriteRule http://www.site.ru/ [R=301,L] Не работает. Что я не так делаю? |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 3 Всего: 315 |
а у вас там есть этот файл index.html?
|
|||
|
||||
| comhunt |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 20.3.2009 Репутация: нет Всего: нет |
Файл index.html лежит в корне сайта, в рутовском каталоге прописанном в httpd.conf апача. файл есть.
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 3 Всего: 315 |
в таком случае при наличии в конфиге следующих строк (которые там присутствуют по умолчанию)
он должен открываться без всяких директив, если указывается адрес http:/ /www.site.ru/ |
|||
|
||||
| comhunt |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 20.3.2009 Репутация: нет Всего: нет |
Да он и открывается при наборе url сайта... Проблема в другом! Мне необходимо чтобы при наборе адреса http://www.site.ru/index.html был редирект на http://www.site.ru/
А это как раз не получается и именно этого я пытался добиться вот этими строками в .htaccess RewriteEngine on RewriteCond %{REQUEST_URI} ^index\.html$ [NC] RewriteRule http://www.site.ru/ [R=301,L] |
|||
|
||||
| 2man |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2007 Регистрация: 6.5.2005 Где: Нижние Чигири Репутация: 1 Всего: 71 |
Что-то у тебя нестыковка тут.
Rewrite'ом ты отправляешь с www.site.ru/index.html на www.site.ru, а Апач (dir_module) отправляет обратно на www.site.ru/index.html -------------------- Быстро поднятое - упавшим не считаеся |
|||
|
||||
| comhunt |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 20.3.2009 Репутация: нет Всего: нет |
Почему нестыковка?
При наборе в адресной строке браузера http://www.site.ru/ Апач не делает редирект же на http://www.site.ru/index.html Открывается index.html но URL остается http://www.site.ru/ Почему тогда после редиректа http://www.site.ru/index.html - должно происходить вот это (Апач (dir_module) отправляет обратно на www.site.ru/index.html) ??? Есть например такой сайт bertal.ru там можно четко отследить что происходит (редиректы и т.п.) Так вот там четко видно что в моем случае никакие редиректы не сробаывают. Значит скорее всего проблема в синтаксисе или еще в чем то... В общем я окончательно запутался... |
|||
|
||||
| IgorIV |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 7.9.2009 Репутация: 2 Всего: 8 |
comhunt, извини, фигню какую-то порешь. Чем тебя не устраивает наличие страницы?
|
|||
|
||||
| comhunt |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 20.3.2009 Репутация: нет Всего: нет |
К вопросу - а зачем мне это надо:
IgorIV, вы что-нибудь слышали о корректной склейке сайта поисковиками (SEO)? Например нельзя чтобы главная страница была доступна одновременно с двух различных URL-адресов: 1. http://www.site.ru 2. http://www.site.ru/index.html Вот поэтому мне надо сделать редирект с (2) на (1) А теперь к вопросу как это сделать, на форуме так никто и не ответил в чем ошибка внутри файла .htaccess или в чем-то другом, если редирект не происходит. ЗЫ IgorIV, следи за своими словами... |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 3 Всего: 315 |
я в таком случае поступил проще. у меня нет реальных адресов, а есть только index.php и .htaccess который валит все ссылки на него.
в index.php прописываем (а на серверном языке это проще, и что самое важное очень гибко подстраивается под изменение сайта), прописываем нужное поведение. допустим, если нету www вначале, то пуляем заголовок с соответствующей ошибкой (304 вроде) и редиректим по правильному адресу. также отслеживаем наличие / в конце, а также все лишние ссылки так проще, чем каждый раз настраивать .htaccess, отягащая его массой правил, которые в какой-то момент обновления сервера просто перестают работать в таком случае нужен серверный язык |
|||
|
||||
| comhunt |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 20.3.2009 Репутация: нет Всего: нет |
Я бы воспользовался скриптовым языком но проблема в том что на perl написана только CMS которая формирует набор html страницы (парсит весь сайт) и потом пользователь лазает только по статичным страницам. (за счет чего снижается нагрузка на сервер). ПРоблема в том что index.html - статичная HTML-ка и из нее никак не вставишь анализ на PERL (или php).
На динамических страницах конечно есть анализатор нежелательных символов, редиректы в случае некорректных запросов, и т.п. Но вот редирект с site.ru на www.site.ru - именно его - лучше на мой взгляд сделать именно в htaccess - глобально для всех запросов. В общем проблема осталась проблемой. |
|||
|
||||
| IgorIV |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 7.9.2009 Репутация: 2 Всего: 8 |
Будет работать? Чьё мнение из сео для тебя авторитетно?
Так работает? |
||||
|
|||||
| Nigel |
|
|||
|
познаю мир ![]() ![]() Профиль Группа: Участник Сообщений: 515 Регистрация: 20.11.2007 Репутация: 7 Всего: 19 |
comhunt, слэш в условии забыл
|
|||
|
||||
| comhunt |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 20.3.2009 Репутация: нет Всего: нет |
IgorIV, давно заметил что любой спор - в криминальной среде, в научной среде, а теперь как выясняется и в среде программистов, рано или поздно приходит к аппеляции к АВТОРИТЕТАМ ...
Nigel, спасибо. Точно в этом была проблема. |
|||
|
||||
| IgorIV |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 7.9.2009 Репутация: 2 Всего: 8 |
comhunt,
1 мой ответ не проверял? Просто закрыть страницу? 2 Я хотел узнать с кого ты берешь пример, это и есть авторитет. Маулнет или Лесекрет? Неужели так было трудно ответить? 3 Я думаю, что поисковые ситсемы не такие тупые, что не могут отличить
Ведь у любого сайта есть индексная страница. Другое дело что index.html и index.php они действительно могут принять за дубликаты. |
|||
|
||||
| comhunt |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 20.3.2009 Репутация: нет Всего: нет |
1. Не проверял.
2,3. У меня свои источники информации. |
|||
|
||||
| IgorIV |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 7.9.2009 Репутация: 2 Всего: 8 |
Блин, спрашиваешь у человека совета, хрен ответит.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |