- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Проблема: /index.php и просто / - абсолютно одинаковые страницы. Похоже из-за этого в яндексе выпала из индекса морда.
RewriteRule ^index.php$ / [L,R=301] - это правильное решение проблемы?
При этом на сайте есть и просто /pagexxx.html страницы и /index.php?param=zzz
С html-ями все понятно, а вот индексация index.php с параметрами не пострадает?
Ставьте ссылки на морду в виде <a href="/">ссылка на главную</a>.
удалено в связи с тем, что совет оказался не верным (см. ниже).
Ставьте ссылки на морду в виде <a href="/">ссылка на главную</a>.
Само собой, но ведь мир не без "добрых" людей :) , могли поставить ссылку и на index.php
Вы ведь явно указали, что оно применимо только при выполнении условия: ^index.php$
То ли лыжи не едут, то ли я чего то не понимаю....
RewriteRule ^index.php$ / [L,R=301] срабатывает нормально, но для абсолютно всех урлов, содержащих index.php
При этом /index.php?param=zzz преобразуются к виду /?param=zzz и все работает нормально.
Что же это получается, что $ в качестве анкора конца строки не срабатывает? 😕
Да, правило применяется в .htaccess
Действительно не работает, извините...
Вашу задачу можно решить другим способом. Добавьте этот код в самом начале Вашего файла index.php.
Действительно не работает, извините...
Вашу задачу можно решить другим способом. Добавьте этот код в самом начале Вашего файла index.php.
Да, остается только так. Странно только, почему mod_rewrite так капризничает. Даже маны от него почитал, но ясности не появилось...
Ставьте ссылки как уже говорили на корень сайта / а не на index.php, и в robots.txt поставьте Disallow: /index.php
Disallow: /index.php закроет для индексации index.php с параметрами.
Disallow: /index.php закроет для индексации index.php с параметрами.
Параметры тоже переписать как:
www.site.ru/?param1=4¶m2=6
Странно только, почему mod_rewrite так капризничает. Даже маны от него почитал, но ясности не появилось...
index.php - это URL
param1=4¶m2=6 - это query string
В вашем примере mod_rewrite работает только с URL, query string не меняется.
Если нужно учитывать query string, читайте это:
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html