# ============================================================
#   .htaccess - Тесты Apache mod_rewrite для nginx
# ============================================================
# Этот файл содержит правила mod_rewrite для тестирования функционала
# модуля ngx_http_apache_rewrite_module в nginx, аналогичного Apache mod_rewrite

# ============================================================
#   1. Перенаправление файлов с расширением .xmx на index.html
# ============================================================
# Правиство перенаправляет ВСЕ файлы заканчивающиеся на .xmx
# на страницу index.html (внешнее перенаправление)

RewriteEngine On
RewriteRule \.xmx$ /index.html [R=301,L]

# Тестирование:
# - http://localhost/test/test.xmx → 301 redirect to /index.html
# - http://localhost/test/subdir/file.xmx → 301 redirect to /index.html

# ============================================================
#   2. Блокировка доступа к stop.html (403 Forbidden)
# ============================================================
# Правиство запрещает доступ к файлу stop.html, возвращая ошибку 403

RewriteCond %{REQUEST_FILENAME} stop.html$
RewriteRule ^ - [F,L]

# Тестирование:
# - http://localhost/test/stop.html → 403 Forbidden (доступ запрещен)

# ============================================================
#   3. Внутреннее перенаправление redirect.html на show.html
# ============================================================
# Правиство скрывает redirect.html и показывает вместо него show.html
# Это внутренняя переадресация (без изменения URL в браузере)

RewriteRule ^redirect\.html$ show.html [L]

# Тестирование:
# - http://localhost/test/redirect.html → показывает содержимое show.html
# - URL остается /test/redirect.html, но показывается content из show.html

# ============================================================
#   4. Перенаправление подкаталога subdir на index.html
# ============================================================
# При обращении к подкаталогу redirect его на главную страницу

RewriteRule ^subdir/?$ /index.html [L]

# Тестирование:
# - http://localhost/test/subdir/ → показывает index.html

# ============================================================
#   5. Блокировка доступа ко всем .xmx файлам (кроме test.xmx)
# ============================================================
# Дополнительно блокируем все файлы с расширением xmx кроме test.xmx
# Это демонстрирует условные правила с RewriteCond

RewriteCond %{REQUEST_FILENAME} !test\.xmx$
RewriteRule \.xmx$ - [F,L]

# Примечание: это правило будет работать ПОСЛЕ первого правила перенаправления
# поэтому test.xmx сначала перенаправляется на index.html, а затем блокируется

# ============================================================
#   6. Переопределение статуса ответа (403 Forbidden) для subdir
# ============================================================
# При обращении к подкаталогу возвращаем ошибку 403 вместо 200 OK

#RewriteRule ^subdir/?$ - [F,L]

# Примечание: это правило будет работать ПОСЛЕ правила 4, поэтому subdir
# сначала будет переадресован на index.html, а затем заблокирован
