Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   ЧПУ в htacces нужно ли делать редиректы со старых урл, если дублируют страницу? (https://javascript.ru/forum/server/75876-chpu-v-htacces-nuzhno-li-delat-redirekty-so-starykh-url-esli-dubliruyut-stranicu.html)

Zhenyaxxxx 16.11.2018 14:34

Цитата:

Сообщение от Nexus
попробуйте так:

не работает...

Nexus 16.11.2018 14:38

Zhenyaxxxx, что именно?

laimas 16.11.2018 14:40

Цитата:

Сообщение от Zhenyaxxxx
в урле такого не бывает: site.com/?page=index.php

В URL вообще не должно быть ссылок на файлы, это должны быть значения параметров, а как они связаны с базой это другой вопрос.

Цитата:

Сообщение от Zhenyaxxxx
$page = empty($_GET['page']) ? 'index.php' : $_GET['page'];

Можно и так:

//сначала весь запрос пропускаем через trim (значения параметров запроса)
//это могут быть как array_map, так и array_walk функции, в зависимости от структуры запросов
//а затем
$page = $_GET['page'] ?: 'index.php';


Только опять таки тут нет логики - если параметров запроса нет или он пуст, значит выводим контент индексной страницы, ведь запросы то у вас проходят через нее все равно, зачем же определять index.php? В противном случае подключаем обработчики/шаблоны других страниц.

Zhenyaxxxx 16.11.2018 14:41

у меня еще тут проблемка... не получается сделать 301 редирект с несуществующих страниц на аналогичные...
вот так, почему то неработает:

Redirect 301 /super.html http://saitname/vse-prosto-super.html



я пишу вот так:

Redirect 301 /?page=type_vent https://ensy.com.ua/type-vent


и при переходе на урл /?page=type_vent - ничего не происходит

Nexus 16.11.2018 14:44

Цитата:

Сообщение от Zhenyaxxxx
при переходе на урл /?page=type_vent - ничего не происходит

Код что я представил в посте №39 я тестировал на apache 2.4, там все работает как задумывалось.
Почему у вас не работает даже представить не могу, умываю руки.

Zhenyaxxxx 16.11.2018 14:51

Цитата:

Сообщение от Nexus
Zhenyaxxxx, что именно?

когда я ввожу урл в виде /?page=страница - все работает... не происходитпереадрисации на вид /страница......


Извените за мороченье головы.... поставлю <link> с атрибутом rel="canonical" и пока так и оставлю....

Zhenyaxxxx 16.11.2018 14:54

в предыдущем вопросе я имел ввиду другую проблему.... у меня есть старые урл, которые выдают "несуществующую страницу" и не получается зделать с низ 301 редирект...

вот так делаю и ничего не происходит:

Redirect 301 /?page=type_vent https://ensy.com.ua/type-vent

Nexus 16.11.2018 15:12

Может так?
RewriteCond %{QUERY_STRING} ^page=type_vent$ [NC]
RewriteRule ^.*$ https://%{HTTP_HOST}/type-vent? [R=301,L]

Zhenyaxxxx 16.11.2018 15:16

Цитата:

Сообщение от Nexus
Может так?

переадресация происходит, но в урле в такое получается:

https://ensy.com.ua/type-vent?page=type_vent

в любом случае, спасибо

Nexus 16.11.2018 15:17

Zhenyaxxxx, изменил пост №48


Часовой пояс GMT +3, время: 15:18.