- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Вечер добрый, есть попытка написать редирект всех урл с ? на главную страницу сайта, но есть ньюансы.
Вот попытка реализации, само собой не работает:
Условия при которых мы НЕ делаем редирект:
1. если файл из запроса действительно существует, например asdf.php или asdf.xml?asdsad и т.д. любое расширение
2. если урл вида /asd.css или /asd.css?fasf - не важно, существует этот файл или нет
3. если урл вида /asd.js или /asd.js?fasf - не важно, существует этот файл или нет
во всех остальных случаях редиректим на главную страницу сайта. Вот как ?
Использую конструкцию вида:
Redirect 301 /урл2/pages/id_12 http://сайт.ru/урл/
Редирект не срабатывае, а в адресной строке формируется такой урл:
http://сайт.ru/урл/?a=урл2/pages/id_12
Что может быть, уже перепробовал все конструкции рдиректа...
Редирект не срабатывае, а в адресной строке формируется такой урл:
http://сайт.ru/урл/?a=урл2/pages/id_12
Но ведь там отчетливо видно, что редирект срабатывает.
В адресной строке как раз http://сайт.ru/урл/ только с добавлением лишних параметров "?a=урл2/pages/id_12".
Такое происходит при одновременной работе mod_alias и mod_rewrite.
Т.е. в правилах у вас как-то так
К тому времени как mod_alias будет выполнять редирект на http://сайт.ru/урл/ mod_rewrite уже выполнит RewriteRule и допишет лишние параметры "?a=урл2/pages/id_12".
Поэтому тут лучше обойтись без mod_alias и делать редирект средствами mod_rewrite.
Ну и ставить его выше других правил сразу после RewriteEngine On
Но ведь там отчетливо видно, что редирект срабатывает.
В адресной строке как раз http://сайт.ru/урл/ только с добавлением лишних параметров "?a=урл2/pages/id_12".
Такое происходит при одновременной работе mod_alias и mod_rewrite.
Т.е. в правилах у вас как-то так
К тому времени как mod_alias будет выполнять редирект на http://сайт.ru/урл/ mod_rewrite уже выполнит RewriteRule и допишет лишние параметры "?a=урл2/pages/id_12".
Поэтому тут лучше обойтись без mod_alias и делать редирект средствами mod_rewrite.
Ну и ставить его выше других правил сразу после RewriteEngine On
Спасибо большое! Все получилось.
Вечер добрый, есть попытка написать редирект всех урл с ? на главную страницу сайта, но есть ньюансы.
Вот попытка реализации, само собой не работает:
Условия при которых мы НЕ делаем редирект:
1. если файл из запроса действительно существует, например asdf.php или asdf.xml?asdsad и т.д. любое расширение
2. если урл вида /asd.css или /asd.css?fasf - не важно, существует этот файл или нет
3. если урл вида /asd.js или /asd.js?fasf - не важно, существует этот файл или нет
во всех остальных случаях редиректим на главную страницу сайта. Вот как ?
Не трогаем всё, что содержит точку (в основном расширения).
RewriteCond %{THE_REQUEST} \?
RewriteCond %{REQUEST_URI} !\.
RewriteRule . /? [R=301,L]
Переношу сайт с одного движка на другой, очень много страниц в индексе. Хочу сделать 301 редирект с URL такого вида
/абракадабра.html на /news/read/абракадабра.html
То есть что бы при заходе на страницы по url с корня сайта посетитель, и поисковики соответственно, попадали на такие же страницы но уже в каталоге /news/read/
Прошу помочь кто знает как решить проблему.
GAMMA, можно так.
RewriteRule ^([0-9a-zA-Z_-]+).html$ /news/read/$1.html [R=301,L]
Супер! Сработало! Как раз такой вариант я почему то не пробовал. Использовал только так RewriteRule ^(.*).html$ /news/read/$1.html [R=301,L]
Есть сайт. Часть его находится в папке, эта часть на DLE. Как сделать редирект c www. на без www. внутри папки в таком случае
Стандартный вариант вида: RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http:\/\/%1/$1 [R=301,QSA,L] не подходит (выбрасывает с /aaa/ на просто oplya.ru).
Цель: чтобы www.oplya.ru/aaa/ выдавал oplya.ru/aaa/)
В корне сайта: