Получить текущее имя каталога в htaccess и предотвратить перенаправление

Антон Кайдалов

Пользователь
Регистрация
14.05.12
Сообщения
1
Реакции
0
Баллы
1
У меня есть это .htaccess файл:
Код:
Options +FollowSymLinks
DirectorySlash On
RewriteEngine On
# Remove trailing slash for non directories
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /mydir%1/$1 [R,L=303]
# Make direct files accessible
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^base.php.*$
RewriteRule ^([^\n]+)|(.*)$ base.php?___ROUTE=$1 [QSA,END]
Код (разметка): имеет следующие особенности перенаправления:

  1. ✔️ d.com/mydir → d.com/mydir/
  2. ✔️ d.com/mydir/nothing → бегать
  3. ✔️ d.com/mydir/nothing/ → d.com/mydir/nothing
  4. ❌ d.com/mydir/exist_dir → d.com/mydir/exist_dir/?___ROUTE=exist_dir
  5. ❌ d.com/mydir/exist_dir/ → бегать
  6. ✔️ d.com/mydir/exist_file.css → бегать
  7. ✔️ d.com/mydir/exist_file.css/ → d.com/mydir/exist_file.css
К бегать Я имею в виду, что он отвечает на содержимое файла или выполняет base.php?___ROUTE=$1

Теперь у меня есть проблема и вопрос

Проблема:
Получить текущее имя каталога в htaccess и предотвратить перенаправление
Я не знаю, как исправить перенаправление номер 4.

Номер 5 должен перенаправить на d.com/mydir/exist_dir.

И номер 4 должен выполнить base.php?___ROUTE=$1 вместо перенаправления.



Вопрос:

Как я могу использовать имя текущего каталога в .htaccess вместо того, чтобы писать его имя в каждом проекте?

Я имею в виду /mydir в RewriteRule ^(.*)/$ /mydir%1/$1 [R,L=303]
 
Сверху Снизу