Как задать правильно регулярные выражение для редиректа в htaccess с mysite.ru/en_content на mysite.ru/en/content?
Как задать правильно регулярные выражение для редиректа в htaccess с mysite.ru/en_anypage на mysite.ru/en/anypage ? Что-то темный лес для меня данная тема, а указывать редирект для тысячи ссылок - не разумно
Регулярное выражение подразумевает некую выборку совпадений
у вас точное совпадение какая регулярка вам нужна/
Вы хоть намекните что из этого будет меняться ?
En ?
content ?
домен ?
конкретезируйте вопрос. напишу ответ.
Добрый день. Есть у меня сайт, у которого английский определяется через GET - параметр en. Если en = 1, то английский, если нет этого параметра - то русский. Вот ссылка на тестовый сервер srv115987.hoster-test.ru . Сейчас я настроил так, чтобы этот параметр определялся , как пдкатегория mysite.ru/en/anypage. До этого этот сайт работал, как mysite.ru/en_anypage и поэтому, после того, как перешли новое правило старые сслыки надо будет редиректить, т.е., чтобы с en_anypage переходило на en/anypage
Вот сам файл htaccess, как он сейчас настроен
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www.srv115987.hoster-test.ru/
#Преобразовываем en
RewriteCond %{REQUEST_URI} en(.*)?(.*)
RewriteRule ^en/(.*)$ $1&en=1 [L]
#Преобразовываем en
RewriteCond %{REQUEST_URI} en(.*)
RewriteRule ^en/(.*)$ $1?en=1 [L]
# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
гет не является , и никогда не являлся частью урла, а следоватлельно и %{REQUEST_URI}
RewriteCond %{QUERY_STRING} (^|&)en\=1($|&)
# если гет и или равен en=1
RewriteRule ^(.*)$ /en_anypage/$1? [L,R=301]
#выделяем все, подставляем после en_anypage, и вопрос в конце удалит все гзапросы иначе, гет всеравно будет висеть.