Для вступления в общество новичков и профессионалов домен-индустрии, пожалуйста нажмите здесь ...

   
 Купля-продажа и обсуждение доменных имён
Optimizator.ru
        

  
Вернуться   Форум о доменах > Дизайн и развитие проектов > Программирование
Регистрация Реноме Правила форума Справка Пользователи Социальные группы Все разделы прочитаны
Программирование PHP, Perl, HTML, XHTML, CSS, JavaScript, MySQL и другие языки кодирования.

Ответ
 
Опции темы
Сегодня
от 149р за .RU
Аренда сервера
2x Intel Hexa-Core Xeon E5-2420
Всего 79 евро!

с видеокартой GeForce GTX 1080 Ti
всего 99 евро!

от 149р за .РФ Реклама на DomenForum.net
Старый 12.06.2019, 17:54   #1
 
Аватар для Port_Artur
 
Регистрация: 03.12.2006
Адрес: Россия
Сообщений: 3,337
Доменные сделки: 24
Реноме: 1203
Одобрения
Спасибо (Отдано): 486
Спасибо (Получено): 727
Отправить сообщение для Port_Artur с помощью ICQ
htaccess: перенаправление адреса из ЧПУ

Нужно перенаправить только 2-ю строку из списка ниже на 1-ю строку из списка, чтобы 3-ю строку и последующие правило не затрагивало

1. http://сайт/moskva/
2. http://сайт/moskva/mehanik/
3. http://сайт/moskva/mehanik/ivanov/

Последний раз редактировалось Port_Artur; 12.06.2019 в 17:56.
Port_Artur вне форума   Ответить с цитированием
Старый 13.06.2019, 12:17   #2
 
Регистрация: 19.12.2013
Сообщений: 450
Доменные сделки: 4
Реноме: 281
Одобрения
Спасибо (Отдано): 37
Спасибо (Получено): 88
В лоб RewriteRule или RedirectMatch с указанием символов начала и конца регулярки.

Если обобщенно, опираясь на кол-во компонентов пути, то по какой-то такой маске: ^(/?.+/).+/$

В реале вариатив /? не нужен. Просто в контексте .htaccess у первой директивы нету вед. слэша в обрабатываемой строке, а у второй есть.
miketomlin вне форума   Ответить с цитированием
Старый 14.06.2019, 13:37   #3
 
Аватар для pegs
 
Регистрация: 07.02.2008
Адрес: Лимпопо
Сообщений: 4,733
Доменные сделки: 15
Реноме: 1419
Одобрения
Спасибо (Отдано): 381
Спасибо (Получено): 1534
Сообщение от miketomlin Посмотреть сообщение
Если обобщенно, опираясь на кол-во компонентов пути, то по какой-то такой маске: ^(/?.+/).+/$
Точка в ".+" сожрёт и символ "/". Следует использовать "[^/]+".

Для .htaccess (RewriteRule) версии: ^([^/]+/)[^/]+/$
__________________
Домен SISКI.NЕТ под сеть клиник пластической хирургии.
pegs вне форума   Ответить с цитированием
Старый 16.06.2019, 13:36   #4
 
Аватар для Port_Artur
 
Регистрация: 03.12.2006
Адрес: Россия
Сообщений: 3,337
Доменные сделки: 24
Реноме: 1203
Одобрения
Спасибо (Отдано): 486
Спасибо (Получено): 727
Отправить сообщение для Port_Artur с помощью ICQ
Мне бы конкретное решение на мой пример

вот мой .htaccess:

Код HTML:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/robots\.txt$
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^fbclid
RewriteRule ^(.*)$ /$1? [R=301,L]
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

Последний раз редактировалось Port_Artur; 16.06.2019 в 13:38.
Port_Artur вне форума   Ответить с цитированием
Старый 16.06.2019, 14:07   #5
 
Аватар для pegs
 
Регистрация: 07.02.2008
Адрес: Лимпопо
Сообщений: 4,733
Доменные сделки: 15
Реноме: 1419
Одобрения
Спасибо (Отдано): 381
Спасибо (Получено): 1534
Если "постоянный" редирект:
Код:
RewriteRule ^([^/]+/)[^/]+/$ /$1 [L,R=301]
После второго блока.
__________________
Домен SISКI.NЕТ под сеть клиник пластической хирургии.
pegs вне форума   Ответить с цитированием
Старый 16.06.2019, 23:25   #6
 
Регистрация: 19.12.2013
Сообщений: 450
Доменные сделки: 4
Реноме: 281
Одобрения
Спасибо (Отдано): 37
Спасибо (Получено): 88
Сообщение от pegs Посмотреть сообщение
Точка в ".+" сожрёт и символ "/". Следует использовать "[^/]+".
Тут для удобства кванторы считаются ленивыми по умолчанию, поэтому нет необходимости использовать ленивые кванторы явно. Ваш вариант тоже норм. Чем строже регулярка, тем лучше.

добавлено через 19 минут
Сообщение от Port_Artur Посмотреть сообщение
Мне бы конкретное решение на мой пример
Для конкретных значений, т.е. в лоб? Я написал словами, например:
Код:
RedirectMatch ^/moskva/mehanik/$ /moskva/

Последний раз редактировалось miketomlin; 16.06.2019 в 23:45. Причина: Добавлено сообщение
miketomlin вне форума   Ответить с цитированием
Старый 17.06.2019, 00:19   #7
 
Аватар для pegs
 
Регистрация: 07.02.2008
Адрес: Лимпопо
Сообщений: 4,733
Доменные сделки: 15
Реноме: 1419
Одобрения
Спасибо (Отдано): 381
Спасибо (Получено): 1534
Сообщение от miketomlin Посмотреть сообщение
Тут для удобства кванторы считаются ленивыми по умолчанию
Так вроде Апач использует PCRE, где по-умолчанию действуют Perl правила (в которых кванторы жадные). Или ошибаюсь?
__________________
Домен SISКI.NЕТ под сеть клиник пластической хирургии.
pegs вне форума   Ответить с цитированием
Старый 17.06.2019, 15:32   #8
 
Аватар для Port_Artur
 
Регистрация: 03.12.2006
Адрес: Россия
Сообщений: 3,337
Доменные сделки: 24
Реноме: 1203
Одобрения
Спасибо (Отдано): 486
Спасибо (Получено): 727
Отправить сообщение для Port_Artur с помощью ICQ
Сообщение от miketomlin Посмотреть сообщение
Для конкретных значений, т.е. в лоб? Я написал словами, например:
Код:
RedirectMatch ^/moskva/mehanik/$ /moskva/
Спасибо
Port_Artur вне форума   Ответить с цитированием
Старый 20.06.2019, 11:07   #9
 
Регистрация: 19.12.2013
Сообщений: 450
Доменные сделки: 4
Реноме: 281
Одобрения
Спасибо (Отдано): 37
Спасибо (Получено): 88
Сообщение от pegs Посмотреть сообщение
Или ошибаюсь?
Я же написал, что тут ленивые. Видимо, для удобства непросвещенной публики так сделано.
miketomlin вне форума   Ответить с цитированием
Старый 20.06.2019, 11:58   #10
 
Аватар для pegs
 
Регистрация: 07.02.2008
Адрес: Лимпопо
Сообщений: 4,733
Доменные сделки: 15
Реноме: 1419
Одобрения
Спасибо (Отдано): 381
Спасибо (Получено): 1534
Сообщение от miketomlin Посмотреть сообщение
Я же написал, что тут ленивые.
Это где-то в документации Апача написано? Или методом эксперимента?
__________________
Домен SISКI.NЕТ под сеть клиник пластической хирургии.
pegs вне форума   Ответить с цитированием
Ответ



Реклама

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Закладки Добавить Тема в закладки

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 19:52. Часовой пояс GMT +4.