- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
почему может не работать
команда в htaccess вида
redirect /page.php?page_id=6 http://yandex.ru/
при этом
redirect /index.html http://yandex.ru/
работает
в Вашем случае попробуйте использовать директиву RedirectMatch..
ну вот
RedirectMatch /page.php?page_id=6 http://www.yandex.ru/ - не работает
RedirectMatch /index.html http://www.yandex.ru/ - работает
может что-то не так с синтаксисом в /page.php?page_id=6 - может туда какие-нибудь слеши или ещё чего?
при этом дело явно в знаке вопроса, ибо
RedirectMatch /page.phppage_id=6 http://www.yandex.ru/ - работает
как вопросительный знак отэкранировать?
а что нужно прописать что бы со всех несушествующих страниц редиректило на главную
MALCHUN
ErrorDocument 404 /
слушайте, ну как поступить то??
есть CMS, страницы выглядят как site.ru/page.php?page_id=6
для страниц сделаны чпу вида site.ru/page_1.html
это сделано реврайтом
ссылки из вне ссылаются на сайт через page.php?page_id=6, как редирект то сделать
напишите, пож-та пример, рабочий
moonvader добавил 18.10.2011 в 09:43
имеет ли смысл делать через
rel="canonical"
на страницы с ЧПУ?
moonvader, если у Вас нет никакой логики при замене адресов страниц и невозможно сделать редирект одним правилом, то просто для каждой страницы вставьте в файл .htaccess пару подобных строк:
RewriteCond %{QUERY_STRING} page_id=6
RewriteRule ^page\.php$ http://%{HTTP_HOST}/page_1.html? [R=301,L]
а ЧПУ на красивые ссылки по-вашему как сделаны?
именно так
RewriteRule ^page_1\.html page.php?page_id=6 [L]
1 - возможен ли реврайт с А на Б и с Б на А одновременно?
2 - весь вопрос в передаче веса ссылок на одну страницу
при редиректе это случится, а при реврайте разве происходит такая передача?
У Вас реврайт с "page_1.html" на "page.php?page_id=6"
здесь о предаче веса говорить бессмысленно, поскольку реврайта никто не увидит, для всех будет видна только страница "page_1.html" и на ней отдается содержимое "page.php?page_id=6"
А с "page.php?page_id=6" на "page_1.html" это уже редирект.
Если в сети есть ссылка на "page.php?page_id=6" то при переходе по ней посетитель будет отправлен на адрес "page_1.html" (с передачей веса ссылки "page.php?page_id=6" на "page_1.html")
А чтобы тот редирект, что я предложил выше не вызывал зацикливание совместно с Вашим реврайтом, добавьте еще одно условие к этому правилу:
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{QUERY_STRING} page_id=6
RewriteRule ^page\.php$ http://%{HTTP_HOST}/page_1.html? [R=301,L]
а где редирект??
я вижу только реврайты
а где редирект??
я вижу только реврайты
Если стоит флаг R, то это запускает внешний редирект (перенаправление).
[R=301,L]
огромное спасибо, это работает!
но я правильно понимаю, что для каждой страницы
для которых было
теперь нужно в htacces дописать по 3 строчки на каждую (то есть дописать 3*N строк)
RewriteCond %{ENV:REDIRECT_STATUS} ^$RewriteCond %{QUERY_STRING} page_id=1
RewriteRule ^page\.php$ http://%{HTTP_HOST}/page_1.html? [R=301,L]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{QUERY_STRING} page_id=2
RewriteRule ^page\.php$ http://%{HTTP_HOST}/page_2.html? [R=301,L]
...................................
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{QUERY_STRING} page_id=N
RewriteRule ^page\.php$ http://%{HTTP_HOST}/page_N.html? [R=301,L]