Правило перенаправления Htaccess не работает без завершающих косых черт

#.htaccess

Вопрос:

У меня есть сайт, над которым я работаю, чтобы сменить домен на новый, и в настоящее время у нас возникают проблемы с этим правилом перезаписи.

Примеры того, что происходит в настоящее время:

example.com/services чтобы example.com/live/services/

example.com/services/ (не перенаправлено)

example.com/ (не перенаправлено)

В index.html файлы и т. Д. В настоящее время находятся в подпапке /live/, и правило перезаписи должно отображать содержимое из /live/, Но когда в конце URL-адреса не вводится косая черта, оно перенаправляет на /live/xxx, а не на содержимое.

Это правило, которое, я считаю, вызывает проблемы:

 RewriteEngine On
RewriteBase /
RewriteCond "%{DOCUMENT_ROOT}/live%{REQUEST_URI}" -f [OR]
RewriteCond "%{DOCUMENT_ROOT}/live%{REQUEST_URI}" -d
RewriteRule "^(. )" "/live/$1"  [L]
 

Комментарии:

1. Вероятно, это эффект mod_dir, который выдает перенаправление, если доступ к папке осуществлялся без завершающей косой черты. Вы можете отключить DirectorySlash — но прежде чем это сделать, проверьте предупреждения в документации. Здесь может быть более разумно, чтобы вы сделали косую черту необязательной в конце своего шаблона, а затем добавили ее к замене.

2. @CBroe Я только что попробовал это, но, к сожалению, при обращении к нему просто отображалась страница индекса каталога.