Переписать все страницы /en/XXX в /en

Прошло некоторое время с тех пор, как я ломал голову, чтобы переписать htaccess. Я хотел бы перенаправить все страницы с example.com/en/XXX на example.com/en. Я делаю либо циклы перенаправления, либо ошибки 500.

Можно ли помочь мне найти правильную формулу?

Я попробовал RewriteRule ^en/(.+)$ /en/ L,QSA также это RewriteRule ^/en/.*$ http://example.com/en/$1 [R=permanent,L]

Вы также знаете хорошие ссылки, чтобы изучить htaccess и переписать?

Заранее спасибо за вашу помощь

RewriteRule ^en/.+$ en/ [L,QSA] должно работать нормально
anubhava 10.12.2020 17:01
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
1
118
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам нужно поставить условие, чтобы остановить зацикливание, не могли бы вы попробовать выполнить один раз, основываясь только на показанных вами образцах.

RewriteEngine ON
RewriteCond %{REQUEST_URI} ^/en/.*/?$ [NC] [L]
RewriteRule ^(en)/.*$ http://example.com/$1 [NC,L]

Merci RaVinder для вашего помощника! <3

Большое спасибо. Это работает довольно хорошо для ссылок в **example.com/en/XXX **, но не для ссылок в example.com/en/XXX.(html/php)

Pipinlink 11.12.2020 08:26

@Pipinlink, пожалуйста, дайте пример URL-адреса, который здесь не работает, и тогда я отредактирую правила.

RavinderSingh13 11.12.2020 08:36

@Pipinlink, хорошо, теперь я изменил Правила, не могли бы вы проверить это сейчас и сообщить мне, поможет ли это вам?

RavinderSingh13 11.12.2020 08:43

на сайте ошибка 500. Я прокомментировал строку RewriteCond %{REQUEST_URI} ^/en/.*(\.html|\.php)/?$ [L] *Сайт снова работает

Pipinlink 11.12.2020 08:51

@Pipinlink, не могли бы вы попробовать отредактированные правила, я еще не тестировал их, пожалуйста, проверьте их один раз и дайте мне знать, как они идут.

RavinderSingh13 11.12.2020 09:05

ты гений! Большое спасибо. Знаете ли вы хороший учебник, чтобы научиться переписывать? ps: в последней перезаписи отсутствует буква R.

Pipinlink 11.12.2020 09:30

@Pipinlink, добро пожаловать и спасибо за приятные слова :) Я узнал / узнал из документации apache.

RavinderSingh13 11.12.2020 09:31

@Pipinlink, вы могли бы дать через профиль легендарных пользователей anubhava, мистера Уайта тоже в ТАК, они ГУРУ htaccess, я только мало что знаю :)

RavinderSingh13 11.12.2020 09:44

Другие вопросы по теме