Прошло некоторое время с тех пор, как я ломал голову, чтобы переписать 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 и переписать?
Заранее спасибо за вашу помощь
Вам нужно поставить условие, чтобы остановить зацикливание, не могли бы вы попробовать выполнить один раз, основываясь только на показанных вами образцах.
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, пожалуйста, дайте пример URL-адреса, который здесь не работает, и тогда я отредактирую правила.
@Pipinlink, хорошо, теперь я изменил Правила, не могли бы вы проверить это сейчас и сообщить мне, поможет ли это вам?
на сайте ошибка 500. Я прокомментировал строку RewriteCond %{REQUEST_URI} ^/en/.*(\.html|\.php)/?$ [L] *Сайт снова работает
@Pipinlink, не могли бы вы попробовать отредактированные правила, я еще не тестировал их, пожалуйста, проверьте их один раз и дайте мне знать, как они идут.
ты гений! Большое спасибо. Знаете ли вы хороший учебник, чтобы научиться переписывать? ps: в последней перезаписи отсутствует буква R.
@Pipinlink, добро пожаловать и спасибо за приятные слова :) Я узнал / узнал из документации apache.
@Pipinlink, вы могли бы дать через профиль легендарных пользователей anubhava, мистера Уайта тоже в ТАК, они ГУРУ htaccess, я только мало что знаю :)
RewriteRule ^en/.+$ en/ [L,QSA]
должно работать нормально