- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Коллеги, подскажите, почему может не работать строка:
RewriteRule ^apartment/build1 (index.php?q=apartment#build1) [NE,L]
При этом осуществляется перенаправление на site.ru/apartment, a #build1 игнорируется, хотя указан флаг NE.
В чём может быть проблема?
Потому что в скобках, и область хеша это указатель внутри текущей страницы, нахрена он тут скриптам?
Без скобок происходит то же самое.
Возможно всё-таки #build1 интерпретируется как комментарий, т.к. начинается с #
Если так, то может кто-то знает, как можно выключить-включить комментарии в .htaccess?
Область хэша ведет на часть страницы, именно эта часть мне и нужна
---------- Добавлено 31.03.2014 в 13:30 ----------
Хотя вот такое правило работает ок, как комментарий ничего не интерпретируется.
RewriteRule ^apartment/build1 http://site.ru/index.php?q=apartment#build1 [NE,L]
Но при этом осуществляется уже редирект, т.е. адрес, который я вижу в браузере при наборе site.ru/apartment/bulid1 - это http://site.ru/index.php?q=apartment#build1. Как избежать переписи урла в браузере, но оставить правильное перенаправление для сервера?
Область хэша ведет на часть страницы, именно эта часть мне и нужна
notoneofthe, либо вы нк понимаете что делаете, либо не правильно формулируете задачу. Якорь это указатель внутри страницы, а делайте вы реврайт серверу для которого нет такого понятия как якорь. Отсюда и вопрос нахрена реврайту якорь? Может вы с редиректом перепутали? Напишите как вы лучше задачу.
Никак. Убрать нафиг оттуда якорь, сервер не обрабатывает якоря, а прокрутку к нужному месту сделать при помощью javascript.
Прошу прощения у ТС, но дабы не создавать тему: Как в htaccess сделать редирект с http://site.ru/catalog/любой_номер?l=1
на http://site.ru/catalog/любой номер
Описываю задачу:
Мне нужно при задании адреса в браузере http://site.ru/apartment/build1 получить страницу http://site.ru/index.php?q=apartment#build1, при этом ссылка в браузере не должна переписаться.
Что для этого мне нужно сделать?
notoneofthe, почитать предыдущий пост.
rebenn, добавить после RewriteEngine on
RewriteCond %{QUERY_STRING} =l=1
RewriteRule ^(catalog/\d+) /$1? [R=301,L]
Почему тогда нормально работает правило RewriteRule ^apartment/build1 http://site.ru/index.php?q=apartment#build1 [NE,L] ?
И в документации на http://httpd.apache.org/docs/current/rewrite/flags.html#flag_ne в разделе про флаг NE есть аналогичный пример:
Она и работает, вопрос в том, почему не работает изначальная:
RewriteRule ^apartment/build1 index.php?q=apartment#build1 [NE,L]
ТС, Вам на китайском объяснить?
Хэш(#) использует клиент(браузер), для перехода к нужной части страницы.
Этот хэш браузер получает из адресной строки.
Вернемся к Вашему вопросу:
При УРЛе в браузере site.ru/apartment/build1 почему не работает хэш?!
Почему тогда нормально работает правило RewriteRule
Потому что это редирект. Вы разницу редиректа от реврайта (внутренне конвертирование ссылок серверу) понять можете? При редиректе происходит внешний редирект в браузере, и браузер соответственно прокручивает страницу если имеется якорь. А при реврайте этого не происходит. Кто вам ее крутить будет, сервер? Якорь - клиентская часть, реврайт - серверная.