Убрать лишнее в конце ссылки с помощью редиректа

V
На сайте с 21.06.2007
Offline
124
1199

Добрый день, прошу помощи с редиректом в файле .htaccess,

На сайте формируются вот такие ссылки: site/author/blabla.html?back=1

Все кроме blabla.html не меняется

Нужны ссылки вида site/author/blabla.html, site/author/blabla2.html, site/author/blabla3.html то есть без ?back=1 на конце. Как это сделать, да помягче?

Пробовал такой вариант:

RewriteCond %{THE_REQUEST} " (/.+?\.html)\S"
RewriteRule ^ %1? [R=301,L]

вариант не совсем подошел, так как он снес систему пагинации на сайте, там ссылки формируются с вопросами и страницами.

Есть ли какой-то редирект, который как бы не редирект в действительности, но создает видимость?

Компания по устройству буронабивных свай (https://drilling-msk.ru/)
S
На сайте с 30.09.2016
Offline
469
#1

RewriteCond %{QUERY_STRING} back=1

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
SmileP
На сайте с 18.02.2010
Offline
386
#2

Как вариант

RewriteCond %{THE_REQUEST} ^(.*)\?back=1

RewriteRule (.*)\?back=1$ http://%{HTTP_HOST}$1? [R=301,L]

Должно редиректить все, что заканчивается на ?back=1 на тот же урл без параметров.

J
На сайте с 20.02.2014
Offline
120
jkm
#3
SmileP:
RewriteRule (.*)\?back=1$

Строка с которой работает RewriteRule не содержит GET параметры.

https://habr.com/company/sprinthost/blog/129560/

V
На сайте с 21.06.2007
Offline
124
#4
SmileP:
Как вариант
RewriteCond %{THE_REQUEST} ^(.*)\?back=1
RewriteRule (.*)\?back=1$ http://%{HTTP_HOST}$1? [R=301,L]

Должно редиректить все, что заканчивается на ?back=1 на тот же урл без параметров.

Не выходит, по нулям

---------- Добавлено 03.07.2018 в 16:59 ----------

Sitealert:
RewriteCond %{QUERY_STRING} back=1

вариант тоже не работает

S
На сайте с 30.09.2016
Offline
469
#5
Vitiai:
вариант тоже не работает

Этого не может быть.

Разве что там у Вас ещё чего-то понаписано. Или не туда вставляете. Или не так правило прописываете. Мало ли чего ещё может быть - это только Вам известно, никто, кроме Вас это знать не может. Но условие 100% рабочее, потому что задача вообще элементарная.

Правда, не в том разделе, но всё равно уже ответили.

M
На сайте с 04.12.2013
Offline
223
#6

Sitealert, вы-то одно условие написали. Может, ТС не в курсе, что к нему еще правило обязательно нужно приписать.

---------- Добавлено 03.07.2018 в 23:30 ----------

Vitiai, в оч. редких случаях на сайте должны формироваться ссылки под редирект на внутряк. Скорее всего вы делаете что-то не так и вам нужно формировать на сайте прямые ссылки на внутряк.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
S
На сайте с 30.09.2016
Offline
469
#7

miketomlin, ну да, я правило не стал прописывать, потому что не был уверен, что правильно понял стартпост. Чтобы куда-то не туда не средиректить. Мутно как-то там написано с этими "блабла" - то ли меняется что-то, то ли не меняется... Поэтому и написал условие - а с правилом пусть ТС сам решает, куда ему там редиректить.

V
На сайте с 21.06.2007
Offline
124
#8
Sitealert:
Этого не может быть.
Разве что там у Вас ещё чего-то понаписано. Или не туда вставляете. Или не так правило прописываете. Мало ли чего ещё может быть - это только Вам известно, никто, кроме Вас это знать не может. Но условие 100% рабочее, потому что задача вообще элементарная.
Правда, не в том разделе, но всё равно уже ответили.

Действительно чего-то наверное не то делаю...так как полно других правил

Бросаю код:

## Mod_rewrite in use.


RewriteEngine On


RewriteCond %{HTTP_HOST} !^slovesnik.org [NC,OR]
RewriteCond %{HTTP:HTTPS} !=on [NC]
RewriteRule !^robots\.txt$ https://slovesnik.org%{REQUEST_URI} [L,R=301]

SetEnvIf X-Security on HTTPS=on

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://slovesnik.org/ [R=301,L]

RewriteCond %{QUERY_STRING} back=1
RewriteRule !^https://slovesnik.org/author/%{REQUEST_URI} [L,R=301]


---------- Добавлено 09.07.2018 в 11:01 ----------

miketomlin:
Sitealert, вы-то одно условие написали. Может, ТС не в курсе, что к нему еще правило обязательно нужно приписать.

---------- Добавлено 03.07.2018 в 23:30 ----------

Vitiai, в оч. редких случаях на сайте должны формироваться ссылки под редирект на внутряк. Скорее всего вы делаете что-то не так и вам нужно формировать на сайте прямые ссылки на внутряк.

Для наглядности кидаю ссылку с проблемой, вот здесь страница с ?back=1 нужно чтобы ?back=1 не было. Редирект Sitealert выдает в ссылке большую абрукадабру или на стороне моего правила ошибка. Прошу помочь

M
На сайте с 04.12.2013
Offline
223
#9

На самом сайте эту ссылку не нашел, хотя увидел похожие, например /novosti.html?limitstart=0. Нужно править сам сайт, чтобы подобные ссылки не формировались. Редирект – только как дополнение, скорее всего временное (потом желательно 404-ая). rel=canonical тоже не помешает, раз так легко возникают тех. дубли.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий