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

  • Автор темы Антон Кайдалов
  • 27
  • Обновлено
  • 17, May 2024
  • #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]

Код (разметка): имеет следующие особенности перенаправления:
  • ✔️ d.com/mydir → d.com/mydir/
  • ✔️ d.com/mydir/nothing → бегать
  • ✔️ d.com/mydir/nothing/ → d.com/mydir/nothing
  • ❌ d.com/mydir/exist_dir → d.com/mydir/exist_dir/?___ROUTE=exist_dir
  • ❌ d.com/mydir/exist_dir/ → бегать
  • ✔️ d.com/mydir/exist_file.css → бегать
  • ✔️ d.com/mydir/exist_file.css/ → d.com/mydir/exist_file.css


К бегать Я имею в виду, что он отвечает на содержимое файла или выполняет base.php?___ROUTE=$1 Теперь у меня есть проблема и вопрос
Проблема:

Я не знаю, как исправить перенаправление номер 4. Номер 5 должен перенаправить на d.com/mydir/exist_dir. И номер 4 должен выполнить base.php?___ROUTE=$1 вместо перенаправления. ‌
Вопрос: Как я могу использовать имя текущего каталога в .htaccess вместо того, чтобы писать его имя в каждом проекте? Я имею в виду /mydir в RewriteRule ^(.*)/$ /mydir%1/$1 [R,L=303]

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


Рег
14 May, 2012

Тем
1

Постов
1

Баллов
11
Тем
49554
Комментарии
57426
Опыт
552966

Интересно