У меня есть сайт, и я использую .htaccess для перенаправления URL следующим образом:
http://mysite.com/StoreName/
перенаправляется на
http://mysite.com/stores/StoreName/
и это делается незаметно для пользователя, поэтому пользователь все еще видит
в их панели браузера (что я и хочу).
Пока все хорошо. Код .htaccess, который делает это для меня:
RewriteRule ^([-A-Za-z0-9_]+)/$ http://mysite.com/stores/$1/ [L]
и он прекрасно работает, за одним небольшим исключением.
Если фактическая папка /stores/StoreName/ (обратите внимание на заглавные буквы "S" и "N"), а пользователь вводит
/stores/StoreName/
http://mysite.com/storename/
в их панель браузера, они по-прежнему перенаправляются правильно, но это больше не невидимо. Браузер теперь показывает
Есть ли способ, чтобы запись http://mysite.com/storename/ была правильно перенаправлена и все еще показывала http://mysite.com/StoreName/ в панели браузера? Я попробовал
RewriteRule ^([-A-Za-z0-9_]+)/$ http://mysite.com/stores/$1/ [L,NC]
но это привело к ошибке «файл не найден». Спасибо за помощь!
Это правило не изменяет регистр и не перенаправляет клиента. Что-то еще в вашей конфигурации перенаправляет это, возможно, ваш 404 ErrorDocument.