Все получилось, спасибо. Обнаружился javascript-код который делал эту аномалию.
Кэш очистил. Ничего не поменялось. Гляньте, пожалуйста, файл httaccess. Возможно проблема в наложении этих условий на другие условия. https://goo.gl/oieiEA Я готов заплатить за помощь с решением.
RewriteCond %{REQUEST_URI} ^/ru/ips RewriteRule ^.*$ /ips/? [R=301,L] RewriteCond %{REQUEST_URI} ^/ua/ips RewriteRule ^.*$ /ips/? [R=301,L]
Вот эти условия исключения работают нормально на другом домене. А на домене medimplant.com.ua ссылка medimplant.com.ua/ru/ips/index.php?/login/ преобразуется в medimplant.com.ru/ips/index.php?/login/ То есть не срабатывает исключение и из базовой ссылки преобразование подставляет часть /ru/ вместо окончания домена .ua
RewriteCond %{REQUEST_URI} ^/ru/ips/$ RewriteRule ^.*$ /ips/? [R=301,L] RewriteCond %{REQUEST_URI} ^/ua/ips/$ RewriteRule ^.*$ /ips/? [R=301,L]
В конечном итоге получился такой набор:
RewriteCond %{REQUEST_URI} !\.RewriteCond %{REQUEST_URI} !\/$RewriteCond %{REQUEST_URI} !\ipsRewriteRule ^(.*[^\/])$ /$1/ [R=301,L]RewriteRule ^ru/(.*)?$ $1 [L]RewriteRule ^ua/(.*)?$ $1 [L]
И условие исключения без $ не исправляет проблему. Ссылка получается искаженная как и без этого условия http://medimplant.com.ru/ips/index.php?/login/ а должна быть http://medimplant.com.ua/ips/index.php?/login/
Похоже какая то коллизия возникает вот с этим правилом
RewriteRule ^ua/(.*)?$ $1 [L]
Есть еще вот такие правила с условиями.
RewriteCond %{REQUEST_URI} ^/ru/ips/$RewriteRule ^.*$ /ips/? [R=301,L]RewriteCond %{REQUEST_URI} ^/ua/ips/$RewriteRule ^.*$ /ips/? [R=301,L]
На другом домене они исключат обработку ссылок в которых есть /ru/ips/ или /ua/ips/ а на домене medimplant.com.ua проблема искажения конечной ссылки которую я описал выше.
Подскажите, пожалуйста.
Подскажите, пожалуйста, как в набор условий редиректа 301 добавить исключение обработки ссылок с вхождением /ips/ посередине ссылки. Набор условий такой:
RewriteCond %{REQUEST_URI} !\? RewriteCond %{REQUEST_URI} !\& RewriteCond %{REQUEST_URI} !\= RewriteCond %{REQUEST_URI} !\. RewriteCond %{REQUEST_URI} !\/$ RewriteRule ^(.*[^\/])$ /$1/ [R=301,L] RewriteRule ^ru/(.*)?$ $1 [L] RewriteRule ^ua/(.*)?$ $1 [L]
Вот такого вида условие исключения обработки не обрабатывается:
RewriteCond %{REQUEST_URI} !\ips\/$
У меня есть условие редиректа всех ссылок с окончанием "/алиас.html" на окончание "/алиас/" кроме ссылок в которых встречается составляющая ссылки "/order/". Подскажите, пожалуйста, как мне добавить в условие исключение к "/order/" еще "/contacts/"?
RedirectMatch 301 ^((?:[^/]*/)++(?<!/order/).*)\.html$ $1/
... это начало ссылки. Вот таким образом сделал редирект с исключением:
Подскажите, пожалуйста, как исключить из 301 редиректа url с определенной частью. В htaccess вот такой строчкой все страницы с .html в конце направляются 301 редиректом на их аналог без .html
RedirectMatch 301 (.*)\.html$ /$1/
Мне нужно чтобы это правило не срабатывало для ссылок которые имеют составляющую .../order/xxx.html. Вот такой вариант у меня не работает:
RewriteCond %{REQUEST_URI} !^/order
RewriteRule ^(.*)\.html$ /$1/ [R=301,L]
Такая вариация исключения тоже не работает:
RewriteCond %{REQUEST_URI} !^/order\.html$