Перейти к содержимому



.htaccess одна страница по нескольким адресам

#1 Вячеслав
Вячеслав
  • Пользователь
  • 386 сообщений
  • Репутация: 3
0

Отправлено 19 Январь 2020 - 19:38

Здравствуйте коллеги!

Подскажите как можно через .htaccess настроить что бы по разным адресам юзеру отдавалась одна и та же стр.?

 

К примеру есть вот такая страница 

 

/product/anti-prostatit-max/

 

и нужно что бы то что по ней отдается юзеру отображалось и по такой ссылке

 

product/anti-prostatit-max-kupit-v-sankt-peterburge/

 

но без изменения URL строки в браузере, т.е что бы редиректа не было на /product/anti-prostatit-max/, а был по сути дубль.


 

 

Сообщение отредактировал Вячеслав: 19 Январь 2020 - 19:39

  • 0

#2 ShowPrint
ShowPrint
  • Пользователь PRO
  • 3 406 сообщений
  • Репутация: 1001

Отправлено 20 Январь 2020 - 10:30

Если я правильно понял задачу, то можно использовать тот же самый обычный/банальный редирект, но без флага R=301, например:

RewriteRule /product/anti-prostatit-max-kupit-v-sankt-peterburge/ /product/anti-prostatit-max/ [L,QSA]

  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#3 Вячеслав
Вячеслав
    Topic Starter
  • Пользователь
  • 386 сообщений
  • Репутация: 3

Отправлено 20 Январь 2020 - 14:01

@ShowPrint, попробовал ваш пример но он не рабочий.

Попытался его оживить, получилось вот так, но при этом все равно кидает на /product/anti-prostatit-max/

 RewriteRule ^product/anti-prostatit-max-kupit-v-sankt-peterburge/ https://%{HTTP_HOST}/product/anti-prostatit-max/ [L,QSA]

а нужно чтобы URL в браузере оставался неизменным...


  • 0

#4 ShowPrint
ShowPrint
  • Пользователь PRO
  • 3 406 сообщений
  • Репутация: 1001

Отправлено 20 Январь 2020 - 14:21

@Вячеслав, значит "с наскока" у меня не получилось, давно я не заморачивался с htaccess, подзабыл...  :(

 

Сейчас соображаю, что по видимому он при таком подходе всё равно будет менять урл...

 

У себя в такой ситуации я скорее всего пытался бы поправить посредством внесения доп.строк/условий в правила ЧПУ, наверное этот вариант должен бы работать как надо.

В текущее правило ЧПУ надо поставить исключение на эту страницу, а потом написать новое правило ЧПУ для этой конкретной страницы. Так, по идее, урл должен оставаться без изменений...

 

Прошу прощения что в предыдущем сообщении "прогнал"  :(


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#5 ShowPrint
ShowPrint
  • Пользователь PRO
  • 3 406 сообщений
  • Репутация: 1001

Отправлено 20 Январь 2020 - 15:03

UPD. @Вячеслав, а зачем вам такие дубли нужны в принципе?

Это же дубль контента (одинаковый по разным урлам) - вроде бы это из разряда "плохо"...

Если на дубликатах указывать "первоисточник" каноническим, то для ПСов скорее всего это будет равносильно 301-редиректу...

Просто интересно понять "нафига козе баян"?

/* Неужели всё это ради длинного урла? Если нет, то вдруг и мне пригодится=) */


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#6 Вячеслав
Вячеслав
    Topic Starter
  • Пользователь
  • 386 сообщений
  • Репутация: 3

Отправлено 20 Январь 2020 - 19:26


Просто интересно понять "нафига козе баян"?

 

это сеошникам нужно, для их "муток", и видимо их дубли не пугают как раз потому что можно canonical указать.

но все равно я не понял как это реализовать средствами .htaccess у меня так и не получилось без редиректа... все равно перекидывает...


  • 0

#7 ShowPrint
ShowPrint
  • Пользователь PRO
  • 3 406 сообщений
  • Репутация: 1001

Отправлено 20 Январь 2020 - 19:36

можно canonical указать
На мой взгляд использование canonical будет равносильно "склеиванию" урлов.

Если это так, то равносильно установке 301-редиректа.

 

но все равно я не понял как это реализовать средствами .htaccess
кусок htaccess отвечающий за ЧПУ можно? (или здесь, или в ЛС)

Оперативно не обещаю, но когда будет время гляну попробую...


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#8 ShowPrint
ShowPrint
  • Пользователь PRO
  • 3 406 сообщений
  • Репутация: 1001

Отправлено 20 Январь 2020 - 20:06

@Вячеслав, на примере ЧПУ на своей локалке я накидал "болванку" которая работает, у меня на локалке по крайней мере:

# ЧПУ для страниц сайта
RewriteCond %{REQUEST_URI} ^/(.*)/$ [NC] # типа "для всех урлов"
# ДОБАВЛЯЕМ
# строку "за исключением урла test"
RewriteCond %{REQUEST_URI} !^/test/$
# загрузка контента "без чпу" которая не меняет урла
RewriteRule ^([a-zA-Z-]*)/$ index.php?page=$1 [L,QSA]
# ДОБАВЛЯЕМ
# условие для страниц(ы) которую мы "исключили"
RewriteCond %{REQUEST_URI} ^/test/$
# делаем подстановку нужного нам контента
RewriteRule .* index.php?page=index_page [L,QSA]

У меня вродь отрабатывает как надо...

 

Это реализация вот по этому принципу: 

 

В текущее правило ЧПУ надо поставить исключение на эту страницу, а потом написать новое правило ЧПУ для этой конкретной страницы. Так, по идее, урл должен оставаться без изменений...

 

Соответственно в вашем примере "test" по идее должен быть product/anti-prostatit-max-kupit-v-sankt-peterburge/

А последнее правило перенаправления нужно написать так, как оно работает для /product/anti-prostatit-max/
Именно "правило" загружающее контент, а не урл, так как указание урла будет редиректить...


Сообщение отредактировал ShowPrint: 20 Январь 2020 - 20:08

  • 2
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#9 miketomlin
miketomlin
  • Пользователь
  • 555 сообщений
  • Репутация: 117

Отправлено 22 Январь 2020 - 22:39

В общем случае фронт-контроллер должен знать, что от него требуется. В обычных движках обычно заводят одну страницу и в обработчике 404-ой дергают ее же контроллер/экшин, захардкодив параметры вызова. Но есть и необычные. В частности можно тупо выдавать одно и то же по всем адресам, быть может, снабжая вывод особым статусом вроде 404 по всем адресам кроме одного предопределенного, например адреса главной (/). Примерно так работает наш парковочный скрипт, но у него, конечно, значительно больше возможностей, а описанное поведение можно наблюдать при дефолтных настройках (одна и та же страница используется и как главная, и как «фоновая», а других не загружено). Пример: раgеshор.ru (набирать руками).

@ShowPrint, такое прокатит, если фронт заточен на получение идентификатора в GET-параметре, причем ему достаточно рерайта, т.е. внутреннего перенаправления. В WP прокатит, в большинстве др. современных движков нет.

P.S. В WP тоже может не прокатить. Он принимает идентификатор в GET-параметре, но пытается скорректировать адрес путем редиректа. Единственный шанс, если такая корректировка может отключаться, но я про это ничего не слышал.


Сообщение отредактировал BLIK: 22 Январь 2020 - 23:42
объединил сообщения

  • 1


#10 ShowPrint
ShowPrint
  • Пользователь PRO
  • 3 406 сообщений
  • Репутация: 1001

Отправлено 23 Январь 2020 - 10:40

@miketomlin, тёзка, ты профи, а я любитель - не забывай этот факт  ;)

 

На моём "рукоблудном" движке это работает, под другой движок может и другая реализация потребуется, надо пробовать...


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#11 miketomlin
miketomlin
  • Пользователь
  • 555 сообщений
  • Репутация: 117

Отправлено 23 Январь 2020 - 11:36

@ShowPrint, я просто уточнил, что твой вариант не универсальный, и объяснил, почему.

 

P.S. Сеошники совсем отупели, а ТС идет у них на поводу.


  • 0


robot
robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Похожие темы
  Название темы Автор Статистика Последнее сообщение

Пользователь месяца
Totti Totti 1-й за Январь
Очков активности: 3 937 6 тем, 87 сообщений, 25 баллов репутации
ТОП самых активных за этот месяц
  • Фотография Megoydagi
    #1

    Megoydagi (24ho.ru)
    Очков активности: 457.5 4 темы, 49 сообщений, 5 баллов репутации

  • Фотография NataliaAntalia
    #2

    NataliaAntalia (zdorovemedicina.ru)
    Очков активности: 108 Вне конкурса за определение пользователя месяца

  • Фотография magnet
    #3

    magnet (rbfxdirect.com)
    Очков активности: 55.5 2 темы, 31 сообщение, 1 балл репутации

  • Фотография BLIK
    #4

    BLIK
    Очков активности: 39 Вне конкурса за определение пользователя месяца

  • Фотография albedo
    #5

    albedo (online24news.ru)
    Очков активности: 34.5 1 тема, 20 сообщений, 1 балл репутации

  • Фотография TindrumGM
    #6

    TindrumGM (novosti-land.ru)
    Очков активности: 28.5 5 тем, 4 сообщения, 1 балл репутации

  • Фотография Totti
    #7

    Totti
    Очков активности: 21 Вне конкурса за определение пользователя месяца

  • Фотография Step01
    #8

    Step01
    Очков активности: 19.5 2 темы, 7 сообщений, 1 балл репутации

  • Фотография MattCutts
    #9

    MattCutts (dmitrylee.ru)
    Очков активности: 19.5 Вне конкурса за определение пользователя месяца

  • Фотография ignis
    #10

    ignis
    Очков активности: 18 1 тема, 9 сообщений, 1 балл репутации

  • Показать весь ТОП 10
Поддержите форум! =)
Апдейты
  • Яндекс ИКС: 30.01.2020
  • Яндекс выдача: 19.02.2020
Топ 5 участников по репутации

Оформление форума – IPBSkins.ru