Похоже, что это мешает mod_dir, который по умолчанию перенаправляет браузер, когда он пытается получить доступ к каталогу, а завершающий слеш отсутствует. Происходит перезапись, изменяющая /site
на /versions/020/site
, затем mod_dir перенаправляет браузер на http://domain.com/versions/020/site/
. Таким образом, браузер видит содержимое версии / 020 в строке адреса.
Вы можете отключить автоматическое перенаправление mod_dir с помощью директивы «DirectorySlash Off» . Но вы можете добавить косую черту в любом случае, включив перенаправление до того, как произойдет перезапись.
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+[^/])$ $1/ [R,L]
Это или что-то эквивалентное до того, как вы выполните перезапись на /version/020
, мы надеемся исправить это.
Редактировать: На самом деле, теперь, когда я думаю об этом, если вы переписываете / перенаправляете, когда завершающий слеш отсутствует, вам не нужно отключать DirectorySlash
, потому что к тому времени у него всегда будет конечный слеш он попадает в mod_dir. Может быть, сделать это в любом случае, чтобы быть в безопасности?