TransWikia.com

Как добавить исключение в RewriteRule

Stack Overflow на русском Asked on December 30, 2021

В моём случае я сам обрабатываю каждый запрос через единый файл index.php, но мне нужно сделать исключения, чтобы при запросах на "/js", "/img", "/css" это правило не срабатывало и открывались соответствующие директории включая "/js/something/else".

RewriteEngine on
RewriteRule ^.*?(?.*)?$ index.php$1

One Answer

Добавить исключение в RewriteRule можно с помощью RewriteCond

Если у вас в веб-пространстве только index.php + файлы js и пр., просто добавьте между вашими строками RewriteCond %{REQUEST_FILENAME} !-f чтобы если запрошен существующий файл - обращаться к нему и не выполнять редирект. То есть если структура такая:

/app/   - здесь остальные файлы сайта
/web/   - это корень сайта, доступный по /
   /js/
   /css/
   /img/
   index.php    - сюда все запросы
   .htaccess

достаточно просто дописать:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*?(?.*)?$ index.php$1

если же все в куче - тогда, с помощью того же RewriteCond... настраивать редирект

Answered by Максим Степанов on December 30, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP