- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Магазин RuStore интегрировал в приложение технологии «Лаборатории Касперского»
Для проведения диагностики пользовательских устройств
Оксана Мамчуева

Продвижение в Яндексе и Google в нише ecom «Электроника» – SEO-исследование от Sape
Спрос, позиции в обеих ПС, ссылочный профиль
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день.
Есть сайт такого типа что страницы открываются по ссылкам вида site.ru?q=page
Необходимо это переделать чтобы эти страницы открывались по новым ссылкам вида site.ru/page
Сейчас проблема в том что при переходе на site.ru/какай_то_page я получаю 404 и не могу использовать пыхлогику. Как это можно обойти?
Пробовал очищать .htaccess - не помогло. Может наоборот что то нужно туда добавить?
Для того, чтобы переадресовать старые ссылки в новый формат, можно использовать файл .htaccess и модуль mod_rewrite веб-сервера Apache.
Ниже приведен пример правил в файле .htaccess, которые переадресуют запросы вида "site.ru?q=page" на новый формат "site.ru/page":
RewriteEngine On
RewriteCond %{QUERY_STRING} ^q=(.*)$
RewriteRule ^(.*)$ /%1? [R=301,L]
Эти правила используют регулярные выражения для перехвата значения параметра "q" в запросе и перенаправления на новый URL без этого параметра.
После добавления этих правил в файл .htaccess, запросы вида "site.ru?q=page" будут автоматически перенаправлены на "site.ru/page", и вы сможете использовать вашу PHP-логику на новых страницах.
Важно убедиться, что модуль mod_rewrite включен на вашем веб-сервере Apache и что ваш файл .htaccess находится в корневом каталоге вашего сайта.
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /?q=$1 [L,QSA]
Необходимо это переделать чтобы эти страницы открывались по новым ссылкам вида site.ru/page
Решений 2:
1) переделать роутинг движка
2) настроить .htaccess
Сейчас проблема в том что при переходе на site.ru/какай_то_page я получаю 404 и не могу использовать пыхлогику. Как это можно обойти?
Это то же самое, что написано выше.
Пробовал очищать .htaccess - не помогло.
Это как это - "очищать"? Удалять содержимое что ли? Естественно, не поможет, если отсутствуют необходимые директивы.
Решение, которое выше предложил BrickLayer, вполне работоспособное, если нет ещё каких-то заморочек на сайте, и если его правильно вставить в .htaccess. Но будут дубли, как отметил ниже miketomlin.
То, что предложено Asmin, работать не будет, естественно.
Лучше переделать фронт-контроллер, чтобы он мог обрабатывать непосредственно адреса вроде /page без дублей /[index.php]?q=page 😉
Есть готовые фронты, которые могут сами делать роутинг по БД и подтягивать др. данные из БД, например G-Drive. Он даже многокомпонентные пути поддерживает – см. демки в моей статье Как сделать единую точку входа с ЧПУ?
Есть готовые фронты
Ну мы же знаем, что готовые фронты предоставляет каждая первая из популярных CMS ;)
Наверное, логичнее всё же доработать то, что уже есть в CMS сайта, нежели городить что-то постороннее.
Сейчас проблема в том что при переходе на site.ru/какай_то_page я получаю 404 и не могу использовать пыхлогику.
404 ошибку таже пыхлогика выводит, сначала ее переделать... это что вообще? самопис?
ну или да https://searchengines.guru/ru/forum/1073615#comment_16872026 в правильном направлении
но я бы советовал обратиться к специалисту, эту тему нужно понимать🤔
Ну мы же знаем, что готовые фронты предоставляет каждая первая из популярных CMS ;)
Я о простых фронтах, которые тем не менее нагружены достаточным функционалом, чтобы делать несложные сайты без дописывания или с мин. дописыванием кода.
Наверное, логичнее всё же доработать то, что уже есть в CMS сайта, нежели городить что-то постороннее.
Это понятно. Я об этом написал в первую очередь. Но вдруг у ТСа там какая-нибудь жесть под капотом, которую проще выкинуть, чем переписать.
404 ошибку таже пыхлогика выводит
Совсем не обязательно. ТС явно пихает запросы в точку входа /[index.php]. Все, что идет мимо этого пути, может и Web-сервером обрабатываться.
Да, так и было. В итоге когда пришел на работу все само разрешилось (кто-то поправил), а htaccess остался прежним